mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-09 16:21:10 +08:00
【修复】条件节点前fromNodeId传值问题
【修复】部署参数默认错误问题 【测设】部分项目代码结构 【同步】前端项目代码
This commit is contained in:
BIN
frontend/.DS_Store
vendored
BIN
frontend/.DS_Store
vendored
Binary file not shown.
@@ -1,169 +0,0 @@
|
||||
# ALLinSSL 前端项目
|
||||
|
||||
## 项目简介
|
||||
|
||||
ALLinSSL是一个基于Monorepo架构的前端项目,使用Turborepo进行工作区管理,专注于提供SSL证书的申请、管理、部署和监控等功能。项目采用模块化设计,将通用功能抽象为独立包,提高代码复用性和可维护性。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **框架**:Vue 3.5.x
|
||||
- **开发语言**:TypeScript
|
||||
- **包管理工具**:pnpm 9.0.0
|
||||
- **Monorepo方案**:Turborepo
|
||||
- **构建工具**:Vite 6.x
|
||||
- **状态管理**:Pinia 2.x
|
||||
- **路由**:Vue Router 4.x
|
||||
- **UI组件库**:Naive UI 2.x
|
||||
- **CSS框架**:TailwindCSS 3.x
|
||||
- **国际化**:Vue I18n 11.x
|
||||
- **测试工具**:Vitest
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
frontend/
|
||||
├── apps/ # 应用目录
|
||||
│ └── allin-ssl/ # SSL证书管理应用
|
||||
├── packages/ # 共享包目录
|
||||
│ ├── hooks/ # 可复用的Vue Hooks
|
||||
│ ├── i18n/ # 国际化相关功能
|
||||
│ ├── naive-ui/ # UI组件库封装
|
||||
│ ├── pinia/ # 状态管理相关功能
|
||||
│ ├── router/ # 路由相关功能
|
||||
│ ├── utils/ # 通用工具函数
|
||||
│ └── vite/ # Vite相关配置和插件
|
||||
├── environment/ # 环境配置
|
||||
│ ├── eslint/ # ESLint配置
|
||||
│ ├── prettier/ # Prettier配置
|
||||
│ ├── stylelint/ # Stylelint配置
|
||||
│ └── typescript/ # TypeScript配置
|
||||
├── plugin/ # 项目插件
|
||||
│ ├── plugin-i18n/ # 国际化插件
|
||||
│ ├── project-ftp-sync/ # FTP同步插件
|
||||
│ └── project-sync-git/ # Git同步插件
|
||||
├── scripts/ # 脚本目录
|
||||
├── types/ # 全局类型定义
|
||||
└── turbo.json # Turborepo配置
|
||||
```
|
||||
|
||||
## 应用
|
||||
|
||||
### allin-ssl
|
||||
|
||||
SSL证书管理平台,提供证书申请、管理、部署、监控等功能,帮助用户轻松管理和部署SSL证书,保障网站安全。
|
||||
|
||||
## 共享包
|
||||
|
||||
- **hooks**: 提供常用的Vue Hooks,简化组件逻辑
|
||||
- **i18n**: 国际化解决方案,支持多语言切换
|
||||
- **naive-ui**: 封装和扩展Naive UI组件库
|
||||
- **pinia**: 封装Pinia状态管理相关功能
|
||||
- **router**: 封装路由相关功能
|
||||
- **utils**: 提供常用工具函数和助手方法
|
||||
- **vite**: Vite相关配置和插件
|
||||
|
||||
## 环境与规范
|
||||
|
||||
- **eslint**: 代码质量检查配置
|
||||
- **prettier**: 代码格式化配置
|
||||
- **stylelint**: 样式质量检查配置
|
||||
- **typescript**: TypeScript配置
|
||||
|
||||
## 插件
|
||||
|
||||
- **plugin-i18n**: 国际化插件,支持自动提取和生成国际化资源
|
||||
- **project-ftp-sync**: FTP同步插件,用于部署前端资源
|
||||
- **project-sync-git**: Git同步插件,用于代码同步
|
||||
|
||||
## 安装
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Node.js >= 18.x
|
||||
- pnpm >= 9.0.0
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
# 安装所有依赖
|
||||
pnpm install
|
||||
```
|
||||
|
||||
## 开发命令
|
||||
|
||||
```bash
|
||||
# 启动所有应用的开发服务
|
||||
pnpm dev
|
||||
|
||||
# 只启动ALLinSSL应用
|
||||
pnpm dev --filter allin-ssl
|
||||
|
||||
# 构建所有应用
|
||||
pnpm build
|
||||
|
||||
# 只构建ALLinSSL应用
|
||||
pnpm build --filter allin-ssl
|
||||
|
||||
# 运行代码检查
|
||||
pnpm lint
|
||||
|
||||
# 运行类型检查
|
||||
pnpm check-types
|
||||
|
||||
# 运行测试
|
||||
pnpm test
|
||||
|
||||
# 清理构建缓存
|
||||
pnpm clear
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 新建应用
|
||||
|
||||
1. 在 `apps` 目录下创建新的应用目录
|
||||
2. 初始化应用配置文件和依赖
|
||||
3. 在应用的 `package.json` 中添加对共享包的依赖
|
||||
|
||||
### 使用共享包
|
||||
|
||||
在应用或其他包的 `package.json` 中添加依赖,例如:
|
||||
|
||||
```json
|
||||
"dependencies": {
|
||||
"@baota/utils": "workspace:*",
|
||||
"@baota/hooks": "workspace:*"
|
||||
}
|
||||
```
|
||||
|
||||
### 开发规范
|
||||
|
||||
1. 遵循项目的代码风格和组织方式
|
||||
2. 共享功能应提取到 `packages` 目录下的相应包中
|
||||
3. 应用特定功能应保留在各自的应用目录中
|
||||
4. 使用TypeScript进行类型定义
|
||||
5. 编写测试用例确保功能正确性
|
||||
|
||||
## 部署
|
||||
|
||||
### 构建生产版本
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### FTP部署
|
||||
|
||||
使用内置的FTP同步插件进行部署:
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
# 自动部署到配置的FTP服务器
|
||||
```
|
||||
|
||||
## 浏览器兼容性
|
||||
|
||||
- Chrome >= 60
|
||||
- Firefox >= 55
|
||||
- Safari >= 11
|
||||
- Edge >= 79
|
||||
BIN
frontend/apps/.DS_Store
vendored
BIN
frontend/apps/.DS_Store
vendored
Binary file not shown.
BIN
frontend/apps/allin-ssl/.DS_Store
vendored
BIN
frontend/apps/allin-ssl/.DS_Store
vendored
Binary file not shown.
@@ -1,117 +1,5 @@
|
||||
# ALLinSSL
|
||||
# Vue 3 + TypeScript + Vite
|
||||
|
||||
## 项目简介
|
||||
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
||||
|
||||
ALLinSSL是一个SSL证书管理平台,提供证书申请、管理、部署、监控等功能,帮助用户轻松管理和部署SSL证书,保障网站安全。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 框架:Vue 3.5.x
|
||||
- 开发语言:TypeScript
|
||||
- 构建工具:Vite 6.x
|
||||
- 状态管理:Pinia 2.x
|
||||
- 路由:Vue Router 4.x
|
||||
- UI组件库:Naive UI 2.x
|
||||
- CSS框架:TailwindCSS 3.x
|
||||
- 国际化:Vue I18n 11.x
|
||||
- HTTP客户端:Axios
|
||||
- 工具库:VueUse、UUID、CryptoJS等
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
src/
|
||||
├── api/ # API接口定义
|
||||
├── assets/ # 静态资源
|
||||
├── components/ # 公共组件
|
||||
├── config/ # 全局配置
|
||||
├── locales/ # 国际化资源
|
||||
├── router/ # 路由配置
|
||||
├── styles/ # 全局样式
|
||||
├── types/ # 类型定义
|
||||
├── views/ # 页面组件
|
||||
│ ├── autoDeploy/ # 自动部署
|
||||
│ ├── authApiManage/ # API管理
|
||||
│ ├── certApply/ # 证书申请
|
||||
│ ├── certManage/ # 证书管理
|
||||
│ ├── home/ # 首页
|
||||
│ ├── layout/ # 布局组件
|
||||
│ ├── login/ # 登录页面
|
||||
│ ├── monitor/ # 监控页面
|
||||
│ └── settings/ # 设置页面
|
||||
├── App.tsx # 应用根组件
|
||||
└── main.ts # 入口文件
|
||||
```
|
||||
|
||||
## 功能模块
|
||||
|
||||
- **证书管理**:集中管理所有SSL证书,包括查看、更新、删除等操作
|
||||
- **证书申请**:提供证书申请流程
|
||||
- **自动部署**:自动部署SSL证书到目标服务器
|
||||
- **监控系统**:监控证书状态,到期提醒等
|
||||
- **系统设置**:系统全局配置管理
|
||||
|
||||
## 安装与运行
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Node.js 16.x 或更高版本
|
||||
- pnpm 7.x 或更高版本(推荐使用)
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### 开发模式
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
### 构建生产版本
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### 预览构建结果
|
||||
|
||||
```bash
|
||||
pnpm preview
|
||||
```
|
||||
|
||||
### 运行测试
|
||||
|
||||
```bash
|
||||
pnpm test
|
||||
```
|
||||
|
||||
### 代码检查
|
||||
|
||||
```bash
|
||||
pnpm lint
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
本项目采用模块化和组件化开发方式,开发新功能时请遵循以下原则:
|
||||
|
||||
1. 遵循项目已有的代码风格和组织方式
|
||||
2. 新增API请在api目录下对应文件中添加
|
||||
3. 公共组件放在components目录
|
||||
4. 页面组件放在views目录下对应模块文件夹中
|
||||
5. 路由配置自动导入
|
||||
6. 使用CSS变量和TailwindCSS进行样式管理
|
||||
|
||||
## 浏览器兼容性
|
||||
|
||||
- Chrome >= 60
|
||||
- Firefox >= 55
|
||||
- Safari >= 11
|
||||
- Edge >= 79
|
||||
|
||||
## 许可证
|
||||
|
||||
私有项目,未经授权不得使用
|
||||
Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).
|
||||
|
||||
16641
frontend/apps/allin-ssl/cache/translation_cache.json
vendored
16641
frontend/apps/allin-ssl/cache/translation_cache.json
vendored
File diff suppressed because it is too large
Load Diff
BIN
frontend/apps/allin-ssl/src/.DS_Store
vendored
BIN
frontend/apps/allin-ssl/src/.DS_Store
vendored
Binary file not shown.
@@ -1,5 +1,4 @@
|
||||
import { Transition, type Component as ComponentType, h } from 'vue'
|
||||
|
||||
import { RouterView } from 'vue-router'
|
||||
import CustomProvider from '@baota/naive-ui/components/customProvider'
|
||||
|
||||
|
||||
BIN
frontend/apps/allin-ssl/src/components/.DS_Store
vendored
BIN
frontend/apps/allin-ssl/src/components/.DS_Store
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -10,6 +10,7 @@ import DnsProviderSelect from '@/components/dnsProviderSelect'
|
||||
|
||||
import styles from './index.module.css'
|
||||
import verifyRules from './verify'
|
||||
import { isArray } from '@baota/utils/type'
|
||||
|
||||
type StepStatus = 'process' | 'wait' | 'finish' | 'error'
|
||||
|
||||
@@ -63,10 +64,7 @@ export default defineComponent({
|
||||
// 表单参数
|
||||
const param = ref(
|
||||
Object.keys(props.node.config).length > 0
|
||||
? {
|
||||
...props.node.config,
|
||||
inputs: Array.isArray(props.node.inputs) ? props.node.inputs[0] : { fromNodeId: '', name: '' },
|
||||
}
|
||||
? props.node.config
|
||||
: {
|
||||
provider: '',
|
||||
provider_id: '',
|
||||
@@ -151,18 +149,20 @@ export default defineComponent({
|
||||
* @returns
|
||||
*/
|
||||
const nextStep = async () => {
|
||||
if (!param.value.provider) return message.error($t('t_19_1745735766810'))
|
||||
if (!props.node.config.provider) return message.error($t('t_19_1745735766810'))
|
||||
|
||||
// 加载证书来源选项
|
||||
certOptions.value = findApplyUploadNodesUp(props.node.id).map((item) => {
|
||||
return { label: item.name, value: item.id }
|
||||
})
|
||||
|
||||
if (!certOptions.value.length) {
|
||||
message.warning($t('t_3_1745748298161'))
|
||||
} else if (!(param.value.inputs && param.value.inputs.fromNodeId)) {
|
||||
param.value.inputs = {} as DeployNodeInputsConfig
|
||||
param.value.inputs.name = certOptions.value[0]?.label || ''
|
||||
param.value.inputs.fromNodeId = certOptions.value[0]?.value || ''
|
||||
} else if (!props.node.config.inputs?.fromNodeId) {
|
||||
param.value.inputs = {
|
||||
name: certOptions.value[0]?.label || '',
|
||||
fromNodeId: certOptions.value[0]?.value || '',
|
||||
} as DeployNodeInputsConfig
|
||||
}
|
||||
current.value++
|
||||
next.value = false
|
||||
@@ -195,15 +195,7 @@ export default defineComponent({
|
||||
await example.value?.validate()
|
||||
const tempData = param.value
|
||||
const inputs = tempData.inputs
|
||||
console.log(inputs, 'inputs', props.node)
|
||||
updateNode(
|
||||
props.node.id,
|
||||
{
|
||||
inputs: [inputs],
|
||||
config: {},
|
||||
},
|
||||
false,
|
||||
)
|
||||
updateNode(props.node.id, { inputs: [inputs], config: {} }, false)
|
||||
delete tempData.inputs
|
||||
updateNodeConfig(props.node.id, {
|
||||
...tempData,
|
||||
@@ -221,7 +213,7 @@ export default defineComponent({
|
||||
modalOptions.value.footer = false
|
||||
// 如果已经选择了部署类型,则跳转到下一步
|
||||
if (param.value.provider) {
|
||||
if (props.node.inputs) param.value.inputs = props.node.inputs
|
||||
if (props.node.inputs) param.value.inputs = props.node.inputs[0]
|
||||
nextStep()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/* Add triangle in bottom-right corner for selected item */
|
||||
.optionCardSelected::before {
|
||||
content: '';
|
||||
@apply absolute -bottom-[.1rem] -right-[.1rem] w-0 h-0 z-10 text-white text-xs flex items-center justify-center;
|
||||
@apply absolute -bottom-[.1rem] -right-[.1rem] w-0 h-0 z-10 text-white text-[1.2rem] flex items-center justify-center;
|
||||
border-style: solid;
|
||||
border-width: 0 0 20px 20px;
|
||||
border-color: transparent transparent var(--n-primary-color) transparent;
|
||||
|
||||
@@ -304,7 +304,6 @@ export const useFlowStore = defineStore('flow-store', () => {
|
||||
console.warn(`Node with id ${nodeId} not found`)
|
||||
return
|
||||
}
|
||||
console.log(nodeId, node)
|
||||
|
||||
// 更新原始数据
|
||||
updateNodeRecursive(flowData.value.childNode, nodeId, (node, parent) => {
|
||||
@@ -312,20 +311,26 @@ export const useFlowStore = defineStore('flow-store', () => {
|
||||
console.warn('Cannot remove root node')
|
||||
return
|
||||
}
|
||||
|
||||
const { type, conditionNodes } = parent as BranchNodeData | ExecuteResultBranchNodeData
|
||||
// 处理条件节点(分支节点、执行结果分支节点)
|
||||
// console.log(type, conditionNodes, node)
|
||||
|
||||
// 如果当前子节点存在条件节点,需要判断删除后是否支持条件节点,则需要更新 fromNodeId
|
||||
if (node.childNode?.type === EXECUTE_RESULT_BRANCH && node.childNode?.config) {
|
||||
node.childNode.config.fromNodeId = parent.id
|
||||
}
|
||||
|
||||
// console.log(node.childNode, parent)
|
||||
|
||||
// 条件一:当前节点为普通节点
|
||||
const nodeTypeList = [CONDITION, EXECUTE_RESULT_CONDITION, BRANCH, EXECUTE_RESULT_BRANCH]
|
||||
if (!nodeTypeList.includes(node.type) && parent.childNode?.id === nodeId) {
|
||||
console.log(deep)
|
||||
// 处理普通节点
|
||||
if (deep) {
|
||||
// 深度删除,直接移除
|
||||
parent.childNode = undefined
|
||||
} else {
|
||||
console.log(parent.childNode, node.childNode)
|
||||
// 非深度删除,子节点上移
|
||||
if (node.childNode) {
|
||||
parent.childNode = node.childNode
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "المهام الآلية",
|
||||
"t_0_1744098811152": "تحذير: لقد دخلتم منطقة غير معروفة، الصفحة التي تحاول زيارتها غير موجودة، يرجى الضغط على الزر للعودة إلى الصفحة الرئيسية.",
|
||||
"t_1_1744098801860": "رجوع إلى الصفحة الرئيسية",
|
||||
"t_2_1744098804908": "نصيحة أمنية: إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمدير على الفور",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "Automated tasks",
|
||||
"t_0_1744098811152": "Warning: You have entered an unknown area, the page you are visiting does not exist, please click the button to return to the homepage.",
|
||||
"t_1_1744098801860": "Return Home",
|
||||
"t_2_1744098804908": "Safety Tip: If you think this is an error, please contact the administrator immediately",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "Tareas automatizadas",
|
||||
"t_0_1744098811152": "Advertencia: Ha ingresado a una zona desconocida, la página que intenta visitar no existe, por favor, haga clic en el botón para regresar a la página de inicio.",
|
||||
"t_1_1744098801860": "Volver al inicio",
|
||||
"t_2_1744098804908": "Consejo de seguridad: Si piensa que es un error, póngase en contacto con el administrador inmediatamente",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "Tâches automatisées",
|
||||
"t_0_1744098811152": "Avertissement : Vous avez entré dans une zone inconnue, la page que vous visitez n'existe pas, veuillez cliquer sur le bouton pour revenir à la page d'accueil.",
|
||||
"t_1_1744098801860": "Retour à l'accueil",
|
||||
"t_2_1744098804908": "Avis de sécurité : Si vous pensez que c'est une erreur, veuillez contacter l'administrateur immédiatement",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "自動化タスク",
|
||||
"t_0_1744098811152": "警告:未知のエリアに進入しました。アクセスしようとしたページは存在しません。ボタンをクリックしてホームページに戻ってください。",
|
||||
"t_1_1744098801860": "ホームに戻る",
|
||||
"t_2_1744098804908": "安全注意:これが誤りだと思われる場合は、すぐに管理者に連絡してください",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "자동화 작업",
|
||||
"t_0_1744098811152": "경고: 알 수 없는 영역에 진입했습니다. 방문하려는 페이지가 존재하지 않습니다. 버튼을 클릭하여 홈페이지로 돌아가세요。",
|
||||
"t_1_1744098801860": "홈으로 돌아가기",
|
||||
"t_2_1744098804908": "안전 유의사항: 이가 오류라면 즉시 관리자에게 연락하십시오",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "Tarefas automatizadas",
|
||||
"t_0_1744098811152": "Aviso: Você entrou em uma área desconhecida, a página que você está visitando não existe, por favor, clique no botão para voltar para a página inicial.",
|
||||
"t_1_1744098801860": "Voltar para a homepage",
|
||||
"t_2_1744098804908": "Dica de Segurança: Se você acha que isso é um erro, entre em contato com o administrador imediatamente",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "Автоматизированные задачи",
|
||||
"t_0_1744098811152": "Предупреждение: Вы вошли в неизвестную зону, посещаемая страница не существует, пожалуйста, нажмите кнопку, чтобы вернуться на главную страницу.",
|
||||
"t_1_1744098801860": "Вернуться на главную",
|
||||
"t_2_1744098804908": "Совет по безопасности: Если вы считаете, что это ошибка, немедленно свяжитесь с администратором",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "自动化任务",
|
||||
"t_0_1744098811152": "警告:您已进入未知区域,所访问的页面不存在,请点击按钮返回首页。",
|
||||
"t_1_1744098801860": "返回首页",
|
||||
"t_2_1744098804908": "安全提示:如果您认为这是个错误,请立即联系管理员",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"t_0_1746782379424": "自動化任務",
|
||||
"t_0_1744098811152": "警告:您已進入未知區域,所訪問的頁面不存在,請點擊按鈕返回首頁。",
|
||||
"t_1_1744098801860": "返回首頁",
|
||||
"t_2_1744098804908": "安全提示:如果您認為這是個錯誤,請立即聯繫管理員",
|
||||
|
||||
@@ -37,7 +37,7 @@ export default defineComponent({
|
||||
<div class="flex items-center space-x-1">
|
||||
<span class="w-4 h-4 rounded-full mr-[.6rem] bg-green-500"></span>
|
||||
<span class={styles.tableText}>
|
||||
{$t('t_0_1745457486299')}: {overviewData.value.workflow.active}
|
||||
{$t('t_0_1746782379424')}: {overviewData.value.workflow.active}
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex items-center space-x-1 mt-3">
|
||||
|
||||
BIN
frontend/packages/.DS_Store
vendored
BIN
frontend/packages/.DS_Store
vendored
Binary file not shown.
@@ -1,43 +0,0 @@
|
||||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/chudong/project/tools-monorepo/node_modules/.pnpm/vite@5.4.17_@types+node@22.14.1_less@4.3.0_sass@1.86.3_stylus@0.62.0_terser@5.39.0/node_modules/vite/dist/node/index.js";
|
||||
import { resolve } from "path";
|
||||
import vue from "file:///Users/chudong/project/tools-monorepo/node_modules/.pnpm/@vitejs+plugin-vue@5.2.3_vite@5.4.17_@types+node@22.14.1_less@4.3.0_sass@1.86.3_stylus@0.62.0_go6z3tefsws3wdi7v2oslblfka/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
||||
import dts from "file:///Users/chudong/project/tools-monorepo/node_modules/.pnpm/vite-plugin-dts@3.9.1_@types+node@22.14.1_rollup@4.39.0_typescript@5.8.3_vite@5.4.17_@types+n_zmp27njhd5iaq3ydw5bs3364h4/node_modules/vite-plugin-dts/dist/index.mjs";
|
||||
var __vite_injected_original_dirname = "/Users/chudong/project/tools-monorepo/packages/i18n";
|
||||
var vite_config_default = defineConfig({
|
||||
root: resolve(__vite_injected_original_dirname, "./src"),
|
||||
plugins: [
|
||||
vue(),
|
||||
dts({
|
||||
include: ["*.ts"],
|
||||
beforeWriteFile: (filePath, content) => ({
|
||||
filePath: filePath.replace(/src/, ""),
|
||||
content
|
||||
})
|
||||
})
|
||||
],
|
||||
build: {
|
||||
outDir: resolve(__vite_injected_original_dirname, "dist"),
|
||||
emptyOutDir: true,
|
||||
lib: {
|
||||
entry: resolve(__vite_injected_original_dirname, "src/index.ts"),
|
||||
name: "BaotaI18n",
|
||||
formats: ["es", "cjs"],
|
||||
fileName: (format) => `index.${format === "es" ? "mjs" : "cjs"}`
|
||||
},
|
||||
rollupOptions: {
|
||||
external: ["vue", "vue-i18n", "@vueuse/core"],
|
||||
output: {
|
||||
globals: {
|
||||
vue: "Vue",
|
||||
"vue-i18n": "VueI18n",
|
||||
"@vueuse/core": "VueUse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvY2h1ZG9uZy9wcm9qZWN0L3Rvb2xzLW1vbm9yZXBvL3BhY2thZ2VzL2kxOG5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9jaHVkb25nL3Byb2plY3QvdG9vbHMtbW9ub3JlcG8vcGFja2FnZXMvaTE4bi92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvY2h1ZG9uZy9wcm9qZWN0L3Rvb2xzLW1vbm9yZXBvL3BhY2thZ2VzL2kxOG4vdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcbmltcG9ydCBkdHMgZnJvbSAndml0ZS1wbHVnaW4tZHRzJ1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuXHRyb290OiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJyksXG5cdHBsdWdpbnM6IFtcblx0XHR2dWUoKSxcblx0XHRkdHMoe1xuXHRcdFx0aW5jbHVkZTogWycqLnRzJ10sXG5cdFx0XHRiZWZvcmVXcml0ZUZpbGU6IChmaWxlUGF0aCwgY29udGVudCkgPT4gKHtcblx0XHRcdFx0ZmlsZVBhdGg6IGZpbGVQYXRoLnJlcGxhY2UoL3NyYy8sICcnKSxcblx0XHRcdFx0Y29udGVudCxcblx0XHRcdH0pLFxuXHRcdH0pLFxuXHRdLFxuXHRidWlsZDoge1xuXHRcdG91dERpcjogcmVzb2x2ZShfX2Rpcm5hbWUsICdkaXN0JyksXG5cdFx0ZW1wdHlPdXREaXI6IHRydWUsXG5cdFx0bGliOiB7XG5cdFx0XHRlbnRyeTogcmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvaW5kZXgudHMnKSxcblx0XHRcdG5hbWU6ICdCYW90YUkxOG4nLFxuXHRcdFx0Zm9ybWF0czogWydlcycsICdjanMnXSxcblx0XHRcdGZpbGVOYW1lOiAoZm9ybWF0KSA9PiBgaW5kZXguJHtmb3JtYXQgPT09ICdlcycgPyAnbWpzJyA6ICdjanMnfWAsXG5cdFx0fSxcblx0XHRyb2xsdXBPcHRpb25zOiB7XG5cdFx0XHRleHRlcm5hbDogWyd2dWUnLCAndnVlLWkxOG4nLCAnQHZ1ZXVzZS9jb3JlJ10sXG5cdFx0XHRvdXRwdXQ6IHtcblx0XHRcdFx0Z2xvYmFsczoge1xuXHRcdFx0XHRcdHZ1ZTogJ1Z1ZScsXG5cdFx0XHRcdFx0J3Z1ZS1pMThuJzogJ1Z1ZUkxOG4nLFxuXHRcdFx0XHRcdCdAdnVldXNlL2NvcmUnOiAnVnVlVXNlJyxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSxcblx0fSxcbn0pXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQTJVLFNBQVMsb0JBQW9CO0FBQ3hXLFNBQVMsZUFBZTtBQUN4QixPQUFPLFNBQVM7QUFDaEIsT0FBTyxTQUFTO0FBSGhCLElBQU0sbUNBQW1DO0FBS3pDLElBQU8sc0JBQVEsYUFBYTtBQUFBLEVBQzNCLE1BQU0sUUFBUSxrQ0FBVyxPQUFPO0FBQUEsRUFDaEMsU0FBUztBQUFBLElBQ1IsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLE1BQ0gsU0FBUyxDQUFDLE1BQU07QUFBQSxNQUNoQixpQkFBaUIsQ0FBQyxVQUFVLGFBQWE7QUFBQSxRQUN4QyxVQUFVLFNBQVMsUUFBUSxPQUFPLEVBQUU7QUFBQSxRQUNwQztBQUFBLE1BQ0Q7QUFBQSxJQUNELENBQUM7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTixRQUFRLFFBQVEsa0NBQVcsTUFBTTtBQUFBLElBQ2pDLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxNQUNKLE9BQU8sUUFBUSxrQ0FBVyxjQUFjO0FBQUEsTUFDeEMsTUFBTTtBQUFBLE1BQ04sU0FBUyxDQUFDLE1BQU0sS0FBSztBQUFBLE1BQ3JCLFVBQVUsQ0FBQyxXQUFXLFNBQVMsV0FBVyxPQUFPLFFBQVEsS0FBSztBQUFBLElBQy9EO0FBQUEsSUFDQSxlQUFlO0FBQUEsTUFDZCxVQUFVLENBQUMsT0FBTyxZQUFZLGNBQWM7QUFBQSxNQUM1QyxRQUFRO0FBQUEsUUFDUCxTQUFTO0FBQUEsVUFDUixLQUFLO0FBQUEsVUFDTCxZQUFZO0FBQUEsVUFDWixnQkFBZ0I7QUFBQSxRQUNqQjtBQUFBLE1BQ0Q7QUFBQSxJQUNEO0FBQUEsRUFDRDtBQUNELENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
||||
BIN
frontend/packages/svelte/.DS_Store
vendored
Normal file
BIN
frontend/packages/svelte/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
frontend/packages/utils/.DS_Store
vendored
Normal file
BIN
frontend/packages/utils/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
frontend/packages/vue/.DS_Store
vendored
Normal file
BIN
frontend/packages/vue/.DS_Store
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
frontend/packages/vue/naive-ui/.DS_Store
vendored
Normal file
BIN
frontend/packages/vue/naive-ui/.DS_Store
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user