Browse Source

init

master
zhanglei 7 days ago
parent
commit
2977d5c949
  1. 4
      vue-vben-admin/.browserslistrc
  2. 1
      vue-vben-admin/.commitlintrc.js
  3. 7
      vue-vben-admin/.dockerignore
  4. 18
      vue-vben-admin/.editorconfig
  5. 11
      vue-vben-admin/.gitattributes
  6. 2
      vue-vben-admin/.gitconfig
  7. 52
      vue-vben-admin/.gitignore
  8. 6
      vue-vben-admin/.gitpod.yml
  9. 1
      vue-vben-admin/.node-version
  10. 13
      vue-vben-admin/.npmrc
  11. 18
      vue-vben-admin/.prettierignore
  12. 1
      vue-vben-admin/.prettierrc.mjs
  13. 4
      vue-vben-admin/.stylelintignore
  14. 157
      vue-vben-admin/README.ja-JP.md
  15. 157
      vue-vben-admin/README.md
  16. 157
      vue-vben-admin/README.zh-CN.md
  17. 81
      vue-vben-admin/cspell.json
  18. 5
      vue-vben-admin/eslint.config.mjs
  19. 76
      vue-vben-admin/lefthook.yml
  20. 105
      vue-vben-admin/package.json
  21. 21631
      vue-vben-admin/pnpm-lock.yaml
  22. 203
      vue-vben-admin/pnpm-workspace.yaml
  23. 4
      vue-vben-admin/stylelint.config.mjs
  24. 6
      vue-vben-admin/tea.yaml
  25. 49
      vue-vben-admin/turbo.json
  26. 180
      vue-vben-admin/vben-admin.code-workspace
  27. 19
      vue-vben-admin/vitest.config.ts

4
vue-vben-admin/.browserslistrc

@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not ie 11

1
vue-vben-admin/.commitlintrc.js

@ -0,0 +1 @@
export { default } from '@vben/commitlint-config';

7
vue-vben-admin/.dockerignore

@ -0,0 +1,7 @@
node_modules
.git
.gitignore
*.md
dist
.turbo
dist.zip

18
vue-vben-admin/.editorconfig

@ -0,0 +1,18 @@
root = true
[*]
charset=utf-8
end_of_line=lf
insert_final_newline=true
indent_style=space
indent_size=2
max_line_length = 100
trim_trailing_whitespace = true
quote_type = single
[*.{yml,yaml,json}]
indent_style = space
indent_size = 2
[*.md]
trim_trailing_whitespace = false

11
vue-vben-admin/.gitattributes

@ -0,0 +1,11 @@
# https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings
# Automatically normalize line endings (to LF) for all text-based files.
* text=auto eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.{ico,png,jpg,jpeg,gif,webp,svg,woff,woff2} binary

2
vue-vben-admin/.gitconfig

@ -0,0 +1,2 @@
[core]
ignorecase = false

52
vue-vben-admin/.gitignore

@ -0,0 +1,52 @@
node_modules
.DS_Store
dist
dist-ssr
dist.zip
dist.tar
dist.war
.nitro
.output
*-dist.zip
*-dist.tar
*-dist.war
coverage
*.local
**/.vitepress/cache
.cache
.turbo
.temp
dev-dist
.stylelintcache
yarn.lock
package-lock.json
.VSCodeCounter
**/backend-mock/data
# local env files
.env.local
.env.*.local
.eslintcache
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
vite.config.mts.*
vite.config.mjs.*
vite.config.js.*
vite.config.ts.*
# Editor directories and files
.idea
# .vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.history
.cursor

6
vue-vben-admin/.gitpod.yml

@ -0,0 +1,6 @@
ports:
- port: 5555
onOpen: open-preview
tasks:
- init: npm i -g corepack && pnpm install
command: pnpm run dev:play

1
vue-vben-admin/.node-version

@ -0,0 +1 @@
22.22.0

13
vue-vben-admin/.npmrc

@ -0,0 +1,13 @@
registry=https://registry.npmmirror.com
public-hoist-pattern[]=lefthook
public-hoist-pattern[]=eslint
public-hoist-pattern[]=prettier
public-hoist-pattern[]=prettier-plugin-tailwindcss
public-hoist-pattern[]=stylelint
public-hoist-pattern[]=*postcss*
public-hoist-pattern[]=@commitlint/*
public-hoist-pattern[]=czg
strict-peer-dependencies=false
auto-install-peers=true
dedupe-peer-dependents=true

18
vue-vben-admin/.prettierignore

@ -0,0 +1,18 @@
dist
dev-dist
.local
.output.js
node_modules
.nvmrc
coverage
CODEOWNERS
.nitro
.output
**/*.svg
**/*.sh
public
.npmrc
*-lock.yaml

1
vue-vben-admin/.prettierrc.mjs

@ -0,0 +1 @@
export { default } from '@vben/prettier-config';

4
vue-vben-admin/.stylelintignore

@ -0,0 +1,4 @@
dist
public
__tests__
coverage

157
vue-vben-admin/README.ja-JP.md

@ -0,0 +1,157 @@
<div align="center">
<a href="https://github.com/anncwb/vue-vben-admin">
<img alt="VbenAdmin Logo" width="215" src="https://unpkg.com/@vbenjs/static-source@0.1.7/source/logo-v1.webp">
</a>
<br>
<br>
[![license](https://img.shields.io/github/license/anncwb/vue-vben-admin.svg)](LICENSE)
<h1>Vue Vben Admin</h1>
</div>
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vbenjs_vue-vben-admin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vbenjs_vue-vben-admin) ![codeql](https://github.com/vbenjs/vue-vben-admin/actions/workflows/codeql.yml/badge.svg) ![build](https://github.com/vbenjs/vue-vben-admin/actions/workflows/build.yml/badge.svg) ![ci](https://github.com/vbenjs/vue-vben-admin/actions/workflows/ci.yml/badge.svg) ![deploy](https://github.com/vbenjs/vue-vben-admin/actions/workflows/deploy.yml/badge.svg)
**日本語** | [English](./README.md) | [中文](./README.zh-CN.md)
## 紹介
Vue Vben Adminは、最新の`vue3`、`vite`、`TypeScript`などの主流技術を使用して開発された、無料でオープンソースの中・後端テンプレートです。すぐに使える中・後端のフロントエンドソリューションとして、学習の参考にもなります。
## アップグレード通知
これは最新バージョン `5.0` であり、以前のバージョンとは互換性がありません。新しいプロジェクトを開始する場合は、最新バージョンを使用することをお勧めします。古いバージョンを表示したい場合は、[v2ブランチ](https://github.com/vbenjs/vue-vben-admin/tree/v2)を使用してください。
## 特徴
- **最新技術スタック**:Vue 3やViteなどの最先端フロントエンド技術で開発
- **TypeScript**:アプリケーション規模のJavaScriptのための言語
- **テーマ**:複数のテーマカラーが利用可能で、カスタマイズオプションも豊富
- **国際化**:完全な内蔵国際化サポート
- **権限管理**:動的ルートベースの権限生成ソリューションを内蔵
## プレビュー
- [Vben Admin](https://vben.pro/) - フルバージョンの中国語サイト
テストアカウント:vben/123456
<div align="center">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview1.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview2.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview3.png">
</div>
### Gitpodを使用
Gitpod(GitHub用の無料オンライン開発環境)でプロジェクトを開き、すぐにコーディングを開始します。
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/vbenjs/vue-vben-admin)
## ドキュメント
[ドキュメント](https://doc.vben.pro/)
## インストールと使用
1. プロジェクトコードを取得
```bash
git clone https://github.com/vbenjs/vue-vben-admin.git
```
2. 依存関係のインストール
```bash
cd vue-vben-admin
npm i -g corepack
pnpm install
```
3. 実行
```bash
pnpm dev
```
4. ビルド
```bash
pnpm build
```
## 変更ログ
[CHANGELOG](https://github.com/vbenjs/vue-vben-admin/releases)
## 貢献方法
ご参加をお待ちしております![Issueを提出](https://github.com/anncwb/vue-vben-admin/issues/new/choose)するか、Pull Requestを送信してください。
**Pull Request プロセス:**
1. コードをフォーク
2. 自分のブランチを作成:`git checkout -b feat/xxxx`
3. 変更をコミット:`git commit -am 'feat(function): add xxxxx'`
4. ブランチをプッシュ:`git push origin feat/xxxx`
5. `pull request`を送信
## Git貢献提出規則
参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 規則 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
- `feat` 新機能の追加
- `fix` 問題/バグの修正
- `style` コードスタイルに関連し、実行結果に影響しない
- `perf` 最適化/パフォーマンス向上
- `refactor` リファクタリング
- `revert` 変更の取り消し
- `test` テスト関連
- `docs` ドキュメント/注釈
- `chore` 依存関係の更新/スキャフォールディング設定の変更など
- `ci` 継続的インテグレーション
- `types` 型定義ファイルの変更
## ブラウザサポート
ローカル開発には `Chrome 80+` ブラウザを推奨します
モダンブラウザをサポートし、IEはサポートしません
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| :-: | :-: | :-: | :-: |
| 最新2バージョン | 最新2バージョン | 最新2バージョン | 最新2バージョン |
## メンテナー
[@Vben](https://github.com/anncwb)
## スター歴史
[![Star History Chart](https://api.star-history.com/svg?repos=vbenjs/vue-vben-admin&type=Date)](https://star-history.com/#vbenjs/vue-vben-admin&Date)
## 寄付
このプロジェクトが役に立つと思われた場合、作者にコーヒーを一杯おごってサポートを示すことができます!
![donate](https://unpkg.com/@vbenjs/static-source@0.1.7/source/sponsor.png)
<a style="display: block;width: 100px;height: 50px;line-height: 50px; color: #fff;text-align: center; background: #408aed;border-radius: 4px;" href="https://www.paypal.com/paypalme/cvvben">Paypal Me</a>
## 貢献者
<a href="https://openomy.app/github/vbenjs/vue-vben-admin" target="_blank" style="display: block; width: 100%;" align="center">
<img src="https://openomy.app/svg?repo=vbenjs/vue-vben-admin&chart=bubble&latestMonth=3" target="_blank" alt="Contribution Leaderboard" style="display: block; width: 100%;" />
</a>
<a href="https://github.com/vbenjs/vue-vben-admin/graphs/contributors">
<img alt="Contributors" src="https://contrib.rocks/image?repo=vbenjs/vue-vben-admin" />
</a>
## Discord
- [Github Discussions](https://github.com/anncwb/vue-vben-admin/discussions)
## ライセンス
[MIT © Vben-2020](./LICENSE)

157
vue-vben-admin/README.md

@ -0,0 +1,157 @@
<div align="center">
<a href="https://github.com/anncwb/vue-vben-admin">
<img alt="VbenAdmin Logo" width="215" src="https://unpkg.com/@vbenjs/static-source@0.1.7/source/logo-v1.webp">
</a>
<br>
<br>
[![license](https://img.shields.io/github/license/anncwb/vue-vben-admin.svg)](LICENSE)
<h1>Vue Vben Admin</h1>
</div>
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vbenjs_vue-vben-admin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vbenjs_vue-vben-admin) [![codeql](https://github.com/vbenjs/vue-vben-admin/actions/workflows/codeql.yml/badge.svg)](https://github.com/vbenjs/vue-vben-admin/actions/workflows/codeql.yml) [![build](https://github.com/vbenjs/vue-vben-admin/actions/workflows/build.yml/badge.svg)](https://github.com/vbenjs/vue-vben-admin/actions/workflows/build.yml) [![ci](https://github.com/vbenjs/vue-vben-admin/actions/workflows/ci.yml/badge.svg)](https://github.com/vbenjs/vue-vben-admin/actions/workflows/ci.yml) [![deploy](https://github.com/vbenjs/vue-vben-admin/actions/workflows/deploy.yml/badge.svg)](https://github.com/vbenjs/vue-vben-admin/actions/workflows/deploy.yml)
**English** | [中文](./README.zh-CN.md) | [日本語](./README.ja-JP.md)
## Introduction
Vue Vben Admin is a free and open source middle and back-end template. Using the latest `vue3`, `vite`, `TypeScript` and other mainstream technology development, the out-of-the-box middle and back-end front-end solutions can also be used for learning reference.
## Upgrade Notice
This is the latest version, 5.0, and it is not compatible with previous versions. If you are starting a new project, it is recommended to use the latest version. If you wish to view the old version, please use the [v2 branch](https://github.com/vbenjs/vue-vben-admin/tree/v2).
## Features
- **Latest Technology Stack**: Developed with cutting-edge front-end technologies like Vue 3 and Vite
- **TypeScript**: A language for application-scale JavaScript
- **Themes**: Multiple theme colors available with customizable options
- **Internationalization**: Comprehensive built-in internationalization support
- **Permissions**: Built-in solution for dynamic route-based permission generation
## Preview
- [Vben Admin](https://vben.pro/) - Full version Chinese site
Test Account: vben/123456
<div align="center">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview1.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview2.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview3.png">
</div>
### Use Gitpod
Open the project in Gitpod (free online dev environment for GitHub) and start coding immediately.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/vbenjs/vue-vben-admin)
## Documentation
[Document](https://doc.vben.pro/)
## Install and Use
1. Get the project code
```bash
git clone https://github.com/vbenjs/vue-vben-admin.git
```
2. Install dependencies
```bash
cd vue-vben-admin
npm i -g corepack
pnpm install
```
3. Run
```bash
pnpm dev
```
4. Build
```bash
pnpm build
```
## Change Log
[CHANGELOG](https://github.com/vbenjs/vue-vben-admin/releases)
## How to Contribute
You are very welcome to join! [Raise an issue](https://github.com/anncwb/vue-vben-admin/issues/new/choose) or submit a Pull Request.
**Pull Request Process:**
1. Fork the code
2. Create your branch: `git checkout -b feat/xxxx`
3. Submit your changes: `git commit -am 'feat(function): add xxxxx'`
4. Push your branch: `git push origin feat/xxxx`
5. Submit `pull request`
## Git Contribution Submission Specification
Reference [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) specification ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
- `feat` Add new features
- `fix` Fix the problem/BUG
- `style` The code style is related and does not affect the running result
- `perf` Optimization/performance improvement
- `refactor` Refactor
- `revert` Undo edit
- `test` Test related
- `docs` Documentation/notes
- `chore` Dependency update/scaffolding configuration modification etc.
- `ci` Continuous integration
- `types` Type definition file changes
## Browser Support
The `Chrome 80+` browser is recommended for local development
Support modern browsers, not IE
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| :-: | :-: | :-: | :-: |
| last 2 versions | last 2 versions | last 2 versions | last 2 versions |
## Maintainer
[@Vben](https://github.com/anncwb)
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=vbenjs/vue-vben-admin&type=Date)](https://star-history.com/#vbenjs/vue-vben-admin&Date)
## Donate
If you think this project is helpful to you, you can help the author buy a cup of coffee to show your support!
![donate](https://unpkg.com/@vbenjs/static-source@0.1.7/source/sponsor.png)
<a style="display: block;width: 100px;height: 50px;line-height: 50px; color: #fff;text-align: center; background: #408aee;border-radius: 4px;" href="https://www.paypal.com/paypalme/cvvben">Paypal Me</a>
## Contributors
<a href="https://openomy.app/github/vbenjs/vue-vben-admin" target="_blank" style="display: block; width: 100%;" align="center">
<img src="https://openomy.app/svg?repo=vbenjs/vue-vben-admin&chart=bubble&latestMonth=3" target="_blank" alt="Contribution Leaderboard" style="display: block; width: 100%;" />
</a>
<a href="https://github.com/vbenjs/vue-vben-admin/graphs/contributors">
<img alt="Contributors" src="https://contrib.rocks/image?repo=vbenjs/vue-vben-admin" />
</a>
## Discord
- [Github Discussions](https://github.com/anncwb/vue-vben-admin/discussions)
## License
[MIT © Vben-2020](./LICENSE)

157
vue-vben-admin/README.zh-CN.md

@ -0,0 +1,157 @@
<div align="center">
<a href="https://github.com/anncwb/vue-vben-admin">
<img alt="VbenAdmin Logo" width="215" src="https://unpkg.com/@vbenjs/static-source@0.1.7/source/logo-v1.webp">
</a>
<br>
<br>
[![license](https://img.shields.io/github/license/anncwb/vue-vben-admin.svg)](LICENSE)
<h1>Vue Vben Admin</h1>
</div>
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vbenjs_vue-vben-admin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vbenjs_vue-vben-admin) ![codeql](https://github.com/vbenjs/vue-vben-admin/actions/workflows/codeql.yml/badge.svg) ![build](https://github.com/vbenjs/vue-vben-admin/actions/workflows/build.yml/badge.svg) ![ci](https://github.com/vbenjs/vue-vben-admin/actions/workflows/ci.yml/badge.svg) ![deploy](https://github.com/vbenjs/vue-vben-admin/actions/workflows/deploy.yml/badge.svg)
**中文** | [English](./README.md) | [日本語](./README.ja-JP.md)
## 简介
Vue Vben Admin 是 Vue Vben Admin 的升级版本。作为一个免费开源的中后台模板,它采用了最新的 Vue 3、Vite、TypeScript 等主流技术开发,开箱即用,可用于中后台前端开发,也适合学习参考。
## 升级提示
该版本为最新版本 `5.0`,与其他版本不兼容,如果你是新项目,建议使用最新版本。如果你想查看旧版本,请使用 [v2 分支](https://github.com/vbenjs/vue-vben-admin/tree/v2)
## 特性
- **最新技术栈**:使用 Vue3/vite 等前端前沿技术开发
- **TypeScript**:应用程序级 JavaScript 的语言
- **主题**:提供多套主题色彩,可配置自定义主题
- **国际化**:内置完善的国际化方案
- **权限**:内置完善的动态路由权限生成方案
## 预览
- [Vben Admin](https://vben.pro/) - 完整版中文站点
测试账号:vben/123456
<div align="center">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview1.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview2.png">
<img alt="VbenAdmin Logo" width="100%" src="https://anncwb.github.io/anncwb/images/preview3.png">
</div>
### 使用 Gitpod
在 Gitpod(适用于 GitHub 的免费在线开发环境)中打开项目,并立即开始编码。
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/vbenjs/vue-vben-admin)
## 文档
[文档地址](https://doc.vben.pro/)
## 安装使用
1. 获取项目代码
```bash
git clone https://github.com/vbenjs/vue-vben-admin.git
```
2. 安装依赖
```bash
cd vue-vben-admin
npm i -g corepack
pnpm install
```
3. 运行
```bash
pnpm dev
```
4. 打包
```bash
pnpm build
```
## 更新日志
[CHANGELOG](https://github.com/vbenjs/vue-vben-admin/releases)
## 如何贡献
非常欢迎你的加入![提一个 Issue](https://github.com/anncwb/vue-vben-admin/issues/new/choose) 或者提交一个 Pull Request。
**Pull Request 流程:**
1. Fork 代码
2. 创建自己的分支:`git checkout -b feature/xxxx`
3. 提交你的修改:`git commit -am 'feat(function): add xxxxx'`
4. 推送您的分支:`git push origin feature/xxxx`
5. 提交 `pull request`
## Git 贡献提交规范
参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `ci` 持续集成
- `types` 类型定义文件更改
## 浏览器支持
本地开发推荐使用 `Chrome 80+` 浏览器
支持现代浏览器,不支持 IE
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| :-: | :-: | :-: | :-: |
| last 2 versions | last 2 versions | last 2 versions | last 2 versions |
## 维护者
[@Vben](https://github.com/anncwb)
## Star 历史
[![Star History Chart](https://api.star-history.com/svg?repos=vbenjs/vue-vben-admin&type=Date)](https://star-history.com/#vbenjs/vue-vben-admin&Date)
## 捐赠
如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持!
![donate](https://unpkg.com/@vbenjs/static-source@0.1.7/source/sponsor.png)
<a style="display: block;width: 100px;height: 50px;line-height: 50px; color: #fff;text-align: center; background: #408aed;border-radius: 4px;" href="https://www.paypal.com/paypalme/cvvben">Paypal Me</a>
## 贡献者
<a href="https://openomy.app/github/vbenjs/vue-vben-admin" target="_blank" style="display: block; width: 100%;" align="center">
<img src="https://openomy.app/svg?repo=vbenjs/vue-vben-admin&chart=bubble&latestMonth=3" target="_blank" alt="Contribution Leaderboard" style="display: block; width: 100%;" />
</a>
<a href="https://github.com/vbenjs/vue-vben-admin/graphs/contributors">
<img alt="Contributors" src="https://contrib.rocks/image?repo=vbenjs/vue-vben-admin" />
</a>
## Discord
- [Github Discussions](https://github.com/anncwb/vue-vben-admin/discussions)
## 许可证
[MIT © Vben-2020](./LICENSE)

81
vue-vben-admin/cspell.json

@ -0,0 +1,81 @@
{
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
"version": "0.2",
"language": "en,en-US",
"allowCompoundWords": true,
"words": [
"acmr",
"antd",
"antdv",
"archiver",
"astro",
"axios",
"brotli",
"cascader",
"clsx",
"defu",
"demi",
"dotenv",
"echarts",
"ependencies",
"esbuild",
"esno",
"etag",
"execa",
"iconify",
"iconoir",
"intlify",
"isequal",
"jspm",
"lockb",
"lucide",
"minh",
"minw",
"mkdist",
"mockjs",
"naiveui",
"napi",
"nocheck",
"nolebase",
"noopener",
"noreferrer",
"nprogress",
"nuxt",
"pinia",
"prefixs",
"publint",
"qrcode",
"reka",
"rollup",
"shadcn",
"sonner",
"sortablejs",
"styl",
"taze",
"tdesign",
"ui-kit",
"uicons",
"unplugin",
"unref",
"vben",
"vbenjs",
"vite",
"vitejs",
"vitepress",
"vitest",
"vnode",
"vueuse",
"yxxx"
],
"ignorePaths": [
"**/*-dist/**",
"**/*.log",
"**/*.spec.ts",
"**/*.test.ts",
"**/__tests__/**",
"**/dist/**",
"**/icons/**",
"**/node_modules/**",
"pnpm-lock.yaml"
]
}

5
vue-vben-admin/eslint.config.mjs

@ -0,0 +1,5 @@
// @ts-check
import { defineConfig } from '@vben/eslint-config';
export default defineConfig();

76
vue-vben-admin/lefthook.yml

@ -0,0 +1,76 @@
# EXAMPLE USAGE:
#
# Refer for explanation to following link:
# https://lefthook.dev/configuration/
#
# pre-push:
# jobs:
# - name: packages audit
# tags:
# - frontend
# - security
# run: yarn audit
#
# - name: gems audit
# tags:
# - backend
# - security
# run: bundle audit
#
# pre-commit:
# parallel: true
# jobs:
# - run: yarn eslint {staged_files}
# glob: "*.{js,ts,jsx,tsx}"
#
# - name: rubocop
# glob: "*.rb"
# exclude:
# - config/application.rb
# - config/routes.rb
# run: bundle exec rubocop --force-exclusion {all_files}
#
# - name: govet
# files: git ls-files -m
# glob: "*.go"
# run: go vet {files}
#
# - script: "hello.js"
# runner: node
#
# - script: "hello.go"
# runner: go run
pre-commit:
parallel: true
commands:
code-workspace:
run: pnpm vsh code-workspace --auto-commit
lint-md:
run: pnpm prettier --cache --ignore-unknown --write {staged_files}
glob: '*.md'
lint-vue:
run: pnpm prettier --write {staged_files} && pnpm eslint --cache --fix {staged_files} && pnpm stylelint --fix --allow-empty-input {staged_files}
glob: '*.vue'
lint-js:
run: pnpm prettier --cache --ignore-unknown --write {staged_files} && pnpm eslint --cache --fix {staged_files}
glob: '*.{js,jsx,ts,tsx}'
lint-style:
run: pnpm prettier --cache --ignore-unknown --write {staged_files} && pnpm stylelint --fix --allow-empty-input {staged_files}
glob: '*.{scss,less,styl,html,vue,css}'
lint-package:
run: pnpm prettier --cache --write {staged_files}
glob: 'package.json'
lint-json:
run: pnpm prettier --cache --write --parser json {staged_files}
glob: '{!(package)*.json,*.code-snippets,.!(browserslist)*rc}'
post-merge:
commands:
install:
run: pnpm install
commit-msg:
commands:
commitlint:
run: pnpm exec commitlint --edit $1

105
vue-vben-admin/package.json

@ -0,0 +1,105 @@
{
"name": "vben-admin-monorepo",
"version": "5.6.0",
"private": true,
"keywords": [
"monorepo",
"turbo",
"vben",
"vben admin",
"vben pro",
"vue",
"vue admin",
"vue vben admin",
"vue vben admin pro",
"vue3"
],
"homepage": "https://github.com/vbenjs/vue-vben-admin",
"bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
"repository": "vbenjs/vue-vben-admin.git",
"license": "MIT",
"author": {
"name": "vben",
"email": "ann.vben@gmail.com",
"url": "https://github.com/anncwb"
},
"type": "module",
"scripts": {
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 turbo build",
"build:analyze": "turbo build:analyze",
"build:antd": "pnpm run build --filter=@vben/web-antd",
"build:docker": "./scripts/deploy/build-local-docker-image.sh",
"build:docs": "pnpm run build --filter=@vben/docs",
"build:ele": "pnpm run build --filter=@vben/web-ele",
"build:naive": "pnpm run build --filter=@vben/web-naive",
"build:tdesign": "pnpm run build --filter=@vben/web-tdesign",
"build:play": "pnpm run build --filter=@vben/playground",
"changeset": "pnpm exec changeset",
"check": "pnpm run check:circular && pnpm run check:dep && pnpm run check:type && pnpm check:cspell",
"check:circular": "vsh check-circular",
"check:cspell": "cspell lint **/*.ts **/README.md .changeset/*.md --no-progress",
"check:dep": "vsh check-dep",
"check:type": "turbo run typecheck",
"clean": "node ./scripts/clean.mjs",
"commit": "czg",
"dev": "turbo-run dev",
"dev:antd": "pnpm -F @vben/web-antd run dev",
"dev:antdv-next": "pnpm -F @vben/web-antdv-next run dev",
"dev:docs": "pnpm -F @vben/docs run dev",
"dev:ele": "pnpm -F @vben/web-ele run dev",
"dev:naive": "pnpm -F @vben/web-naive run dev",
"dev:tdesign": "pnpm -F @vben/web-tdesign run dev",
"dev:play": "pnpm -F @vben/playground run dev",
"format": "vsh lint --format",
"lint": "vsh lint",
"postinstall": "pnpm -r run stub --if-present",
"preinstall": "npx only-allow pnpm",
"preview": "turbo-run preview",
"publint": "vsh publint",
"reinstall": "pnpm clean --del-lock && pnpm install",
"test:unit": "vitest run --dom",
"test:e2e": "turbo run test:e2e",
"update:deps": "npx taze -r -w",
"version": "pnpm exec changeset version && pnpm install --no-frozen-lockfile",
"catalog": "pnpx codemod pnpm/catalog"
},
"devDependencies": {
"@changesets/changelog-github": "catalog:",
"@changesets/cli": "catalog:",
"@playwright/test": "catalog:",
"@types/node": "catalog:",
"@vben/commitlint-config": "workspace:*",
"@vben/eslint-config": "workspace:*",
"@vben/prettier-config": "workspace:*",
"@vben/stylelint-config": "workspace:*",
"@vben/tailwind-config": "workspace:*",
"@vben/tsconfig": "workspace:*",
"@vben/turbo-run": "workspace:*",
"@vben/vite-config": "workspace:*",
"@vben/vsh": "workspace:*",
"@vitejs/plugin-vue": "catalog:",
"@vitejs/plugin-vue-jsx": "catalog:",
"@vue/test-utils": "catalog:",
"autoprefixer": "catalog:",
"cross-env": "catalog:",
"cspell": "catalog:",
"happy-dom": "catalog:",
"is-ci": "catalog:",
"lefthook": "catalog:",
"playwright": "catalog:",
"rimraf": "catalog:",
"tailwindcss": "catalog:",
"turbo": "catalog:",
"typescript": "catalog:",
"unbuild": "catalog:",
"vite": "catalog:",
"vitest": "catalog:",
"vue": "catalog:",
"vue-tsc": "catalog:"
},
"engines": {
"node": ">=20.19.0",
"pnpm": ">=10.0.0"
},
"packageManager": "pnpm@10.28.2"
}

21631
vue-vben-admin/pnpm-lock.yaml

File diff suppressed because it is too large

203
vue-vben-admin/pnpm-workspace.yaml

@ -0,0 +1,203 @@
packages:
- internal/*
- internal/lint-configs/*
- packages/*
- packages/@core/base/*
- packages/@core/ui-kit/*
- packages/@core/forward/*
- packages/@core/*
- packages/effects/*
- packages/business/*
- apps/*
- scripts/*
- docs
- playground
overrides:
'@ast-grep/napi': 'catalog:'
'@ctrl/tinycolor': 'catalog:'
clsx: 'catalog:'
esbuild: 'catalog:'
jiti: 'catalog:'
pinia: 'catalog:'
vue: 'catalog:'
catalog:
'@ast-grep/napi': ^0.39.9
'@changesets/changelog-github': ^0.5.2
'@changesets/cli': ^2.29.8
'@changesets/git': ^3.0.4
'@clack/prompts': ^0.11.0
'@commitlint/cli': ^19.8.1
'@commitlint/config-conventional': ^19.8.1
'@ctrl/tinycolor': ^4.2.0
'@eslint/js': ^9.39.2
'@faker-js/faker': ^9.9.0
'@iconify/json': ^2.2.432
'@iconify/tailwind': ^1.2.0
'@iconify/vue': ^5.0.0
'@intlify/core-base': ^11.2.8
'@intlify/unplugin-vue-i18n': ^6.0.8
'@jspm/generator': ^2.9.0
'@manypkg/get-packages': ^3.1.0
'@nolebase/vitepress-plugin-git-changelog': ^2.18.2
'@playwright/test': ^1.58.2
'@pnpm/workspace.read-manifest': ^1000.2.10
'@stylistic/stylelint-plugin': ^4.0.1
'@tailwindcss/nesting': 0.0.0-insiders.565cd3e
'@tailwindcss/typography': ^0.5.19
'@tanstack/vue-query': ^5.92.9
'@tanstack/vue-store': ^0.8.0
'@types/archiver': ^6.0.4
'@types/eslint': ^9.6.1
'@types/html-minifier-terser': ^7.0.2
'@types/json-bigint': ^1.0.4
'@types/jsonwebtoken': ^9.0.10
'@types/lodash.clonedeep': ^4.5.9
'@types/node': ^24.10.12
'@types/nprogress': ^0.2.3
'@types/postcss-import': ^14.0.3
'@types/qrcode': ^1.5.6
'@types/qs': ^6.14.0
'@types/sortablejs': ^1.15.9
'@typescript-eslint/eslint-plugin': ^8.54.0
'@typescript-eslint/parser': ^8.54.0
'@vee-validate/zod': ^4.15.1
'@vite-pwa/vitepress': ^1.1.0
'@vitejs/plugin-vue': ^6.0.4
'@vitejs/plugin-vue-jsx': ^5.1.4
'@vue/shared': ^3.5.27
'@vue/test-utils': ^2.4.6
'@vueuse/core': ^14.1.0
'@vueuse/integrations': ^14.1.0
'@vueuse/motion': ^3.0.3
ant-design-vue: ^4.2.6
antdv-next: ^1.0.2
archiver: ^7.0.1
autoprefixer: ^10.4.24
axios: ^1.13.4
axios-mock-adapter: ^2.1.0
cac: ^6.7.14
chalk: ^5.6.2
cheerio: ^1.2.0
circular-dependency-scanner: ^2.3.0
class-variance-authority: ^0.7.1
clsx: ^2.1.1
commitlint-plugin-function-rules: ^4.3.1
consola: ^3.4.2
cross-env: ^10.1.0
cspell: ^9.6.4
cssnano: ^7.1.2
cz-git: ^1.12.0
czg: ^1.12.0
dayjs: ^1.11.19
defu: ^6.1.4
depcheck: ^1.4.7
dotenv: ^16.6.1
echarts: ^6.0.0
element-plus: ^2.13.1
es-toolkit: ^1.44.0
esbuild: ^0.25.12
eslint: ^9.39.2
eslint-config-turbo: ^2.7.6
eslint-plugin-command: ^3.4.0
eslint-plugin-eslint-comments: ^3.2.0
eslint-plugin-import-x: ^4.16.1
eslint-plugin-jsdoc: ^61.7.1
eslint-plugin-jsonc: ^2.21.0
eslint-plugin-n: ^17.23.2
eslint-plugin-no-only-tests: ^3.3.0
eslint-plugin-perfectionist: ^4.15.1
eslint-plugin-pnpm: ^1.5.0
eslint-plugin-prettier: ^5.5.5
eslint-plugin-regexp: ^2.10.0
eslint-plugin-unicorn: ^62.0.0
eslint-plugin-unused-imports: ^4.3.0
eslint-plugin-vitest: ^0.5.4
eslint-plugin-vue: ^10.7.0
eslint-plugin-yml: ^1.19.1
execa: ^9.6.1
find-up: ^7.0.0
get-port: ^7.1.0
globals: ^16.5.0
h3: ^1.15.5
happy-dom: ^17.6.3
html-minifier-terser: ^7.2.0
is-ci: ^4.1.0
jiti: ^2.6.1
json-bigint: ^1.0.0
jsonc-eslint-parser: ^2.4.2
jsonwebtoken: ^9.0.3
lefthook: ^2.1.0
lodash.clonedeep: ^4.5.0
lucide-vue-next: ^0.553.0
medium-zoom: ^1.1.0
naive-ui: ^2.43.2
nitropack: ^2.13.1
nprogress: ^0.2.0
ora: ^8.2.0
pinia: ^3.0.4
pinia-plugin-persistedstate: ^4.7.1
pkg-types: ^2.3.0
playwright: ^1.58.2
postcss: ^8.5.6
postcss-antd-fixes: ^0.2.0
postcss-html: ^1.8.1
postcss-import: ^16.1.1
postcss-preset-env: ^10.6.1
postcss-scss: ^4.0.9
prettier: ^3.8.1
prettier-plugin-tailwindcss: ^0.7.2
publint: ^0.3.17
qrcode: ^1.5.4
qs: ^6.14.1
reka-ui: ^2.7.0
resolve.exports: ^2.0.3
rimraf: ^6.1.2
rollup: ^4.57.0
rollup-plugin-visualizer: ^5.14.0
sass: ^1.97.3
secure-ls: ^2.0.0
sortablejs: ^1.15.6
stylelint: ^16.26.1
stylelint-config-recess-order: ^7.6.0
stylelint-config-recommended: ^17.0.0
stylelint-config-recommended-scss: ^16.0.2
stylelint-config-recommended-vue: ^1.6.1
stylelint-config-standard: ^39.0.1
stylelint-order: ^7.0.1
stylelint-prettier: ^5.0.3
stylelint-scss: ^6.14.0
tailwind-merge: ^2.6.0
tailwindcss: ^3.4.19
tailwindcss-animate: ^1.0.7
tdesign-vue-next: ^1.18.0
theme-colors: ^0.1.0
tippy.js: ^6.3.7
turbo: ^2.8.3
typescript: ^5.9.3
unbuild: ^3.6.1
unplugin-element-plus: ^0.11.2
vee-validate: ^4.15.1
vite: ^7.3.1
vite-plugin-compression: ^0.5.1
vite-plugin-dts: ^4.5.4
vite-plugin-html: ^3.2.2
vite-plugin-lazy-import: ^1.0.7
vite-plugin-pwa: ^1.2.0
vite-plugin-vue-devtools: ^8.0.5
vitepress: ^1.6.4
vitepress-plugin-group-icons: ^1.7.1
vitest: ^3.2.4
vue: ^3.5.27
vue-eslint-parser: ^10.2.0
vue-i18n: ^11.2.8
vue-json-viewer: ^3.0.4
vue-router: ^5.0.3
vue-tippy: ^6.7.1
vue-tsc: ^3.2.4
vxe-pc-ui: ^4.12.16
vxe-table: ^4.17.46
watermark-js-plus: ^1.6.3
yaml-eslint-parser: ^1.3.2
zod: ^3.25.76
zod-defaults: 0.1.3

4
vue-vben-admin/stylelint.config.mjs

@ -0,0 +1,4 @@
export default {
extends: ['@vben/stylelint-config'],
root: true,
};

6
vue-vben-admin/tea.yaml

@ -0,0 +1,6 @@
# https://tea.xyz/what-is-this-file
---
version: 1.0.0
codeOwners:
- '0xB33cc732DFc15Cd39eF50Fb165c876E24417E48f'
quorum: 1

49
vue-vben-admin/turbo.json

@ -0,0 +1,49 @@
{
"$schema": "https://turbo.build/schema.json",
"globalDependencies": [
"pnpm-lock.yaml",
"**/.env.*local",
"**/tsconfig*.json",
"internal/node-utils/*.json",
"internal/node-utils/src/**/*.ts",
"internal/tailwind-config/src/**/*.ts",
"internal/vite-config/*.json",
"internal/vite-config/src/**/*.ts",
"scripts/*/src/**/*.ts",
"scripts/*/src/**/*.json"
],
"globalEnv": ["NODE_ENV"],
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": [
"dist/**",
"dist.zip",
".vitepress/dist.zip",
".vitepress/dist/**"
]
},
"preview": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"build:analyze": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"@vben/backend-mock#build": {
"dependsOn": ["^build"],
"outputs": [".nitro/**", ".output/**"]
},
"test:e2e": {},
"dev": {
"dependsOn": [],
"outputs": [],
"cache": false,
"persistent": true
},
"typecheck": {
"outputs": []
}
}
}

180
vue-vben-admin/vben-admin.code-workspace

@ -0,0 +1,180 @@
{
"folders": [
{
"name": "@vben/backend-mock",
"path": "apps/backend-mock",
},
{
"name": "@vben/web-antd",
"path": "apps/web-antd",
},
{
"name": "@vben/web-antdv-next",
"path": "apps/web-antdv-next",
},
{
"name": "@vben/web-ele",
"path": "apps/web-ele",
},
{
"name": "@vben/web-naive",
"path": "apps/web-naive",
},
{
"name": "@vben/web-tdesign",
"path": "apps/web-tdesign",
},
{
"name": "@vben/docs",
"path": "docs",
},
{
"name": "@vben/commitlint-config",
"path": "internal/lint-configs/commitlint-config",
},
{
"name": "@vben/eslint-config",
"path": "internal/lint-configs/eslint-config",
},
{
"name": "@vben/prettier-config",
"path": "internal/lint-configs/prettier-config",
},
{
"name": "@vben/stylelint-config",
"path": "internal/lint-configs/stylelint-config",
},
{
"name": "@vben/node-utils",
"path": "internal/node-utils",
},
{
"name": "@vben/tailwind-config",
"path": "internal/tailwind-config",
},
{
"name": "@vben/tsconfig",
"path": "internal/tsconfig",
},
{
"name": "@vben/vite-config",
"path": "internal/vite-config",
},
{
"name": "@vben-core/design",
"path": "packages/@core/base/design",
},
{
"name": "@vben-core/icons",
"path": "packages/@core/base/icons",
},
{
"name": "@vben-core/shared",
"path": "packages/@core/base/shared",
},
{
"name": "@vben-core/typings",
"path": "packages/@core/base/typings",
},
{
"name": "@vben-core/composables",
"path": "packages/@core/composables",
},
{
"name": "@vben-core/preferences",
"path": "packages/@core/preferences",
},
{
"name": "@vben-core/form-ui",
"path": "packages/@core/ui-kit/form-ui",
},
{
"name": "@vben-core/layout-ui",
"path": "packages/@core/ui-kit/layout-ui",
},
{
"name": "@vben-core/menu-ui",
"path": "packages/@core/ui-kit/menu-ui",
},
{
"name": "@vben-core/popup-ui",
"path": "packages/@core/ui-kit/popup-ui",
},
{
"name": "@vben-core/shadcn-ui",
"path": "packages/@core/ui-kit/shadcn-ui",
},
{
"name": "@vben-core/tabs-ui",
"path": "packages/@core/ui-kit/tabs-ui",
},
{
"name": "@vben/constants",
"path": "packages/constants",
},
{
"name": "@vben/access",
"path": "packages/effects/access",
},
{
"name": "@vben/common-ui",
"path": "packages/effects/common-ui",
},
{
"name": "@vben/hooks",
"path": "packages/effects/hooks",
},
{
"name": "@vben/layouts",
"path": "packages/effects/layouts",
},
{
"name": "@vben/plugins",
"path": "packages/effects/plugins",
},
{
"name": "@vben/request",
"path": "packages/effects/request",
},
{
"name": "@vben/icons",
"path": "packages/icons",
},
{
"name": "@vben/locales",
"path": "packages/locales",
},
{
"name": "@vben/preferences",
"path": "packages/preferences",
},
{
"name": "@vben/stores",
"path": "packages/stores",
},
{
"name": "@vben/styles",
"path": "packages/styles",
},
{
"name": "@vben/types",
"path": "packages/types",
},
{
"name": "@vben/utils",
"path": "packages/utils",
},
{
"name": "@vben/playground",
"path": "playground",
},
{
"name": "@vben/turbo-run",
"path": "scripts/turbo-run",
},
{
"name": "@vben/vsh",
"path": "scripts/vsh",
},
],
}

19
vue-vben-admin/vitest.config.ts

@ -0,0 +1,19 @@
import Vue from '@vitejs/plugin-vue';
import VueJsx from '@vitejs/plugin-vue-jsx';
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
plugins: [Vue(), VueJsx()],
test: {
environment: 'happy-dom',
exclude: [
...configDefaults.exclude,
'**/e2e/**',
'**/dist/**',
'**/.{idea,git,cache,output,temp}/**',
'**/node_modules/**',
'**/{stylelint,eslint}.config.*',
'.prettierrc.mjs',
],
},
});
Loading…
Cancel
Save