- fix(types): 统一导入到 src/types.ts,移除 shared/types 残留路径

- chore(tsconfig): 将 include 扩展为 src/**/* 覆盖迁移后的源文件
- feat(build): Vite 设置 root 为 src,并将 build.outDir 设为 ../dist 以匹配 Tauri frontendDist
- refactor(api): 去除未使用的 plugin-shell import;统一 electronAPI 类型定义至 vite-env.d.ts
- build: 验证 renderer 构建通过,产物输出至 dist/
This commit is contained in:
Jason
2025-08-23 23:11:39 +08:00
parent 12fa80e002
commit 55c62a3753
11 changed files with 22 additions and 2314 deletions

2274
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
import { useState, useEffect, useRef } from "react";
import { Provider } from "../shared/types";
import { Provider } from "./types";
import ProviderList from "./components/ProviderList";
import AddProviderModal from "./components/AddProviderModal";
import EditProviderModal from "./components/EditProviderModal";

View File

@@ -1,5 +1,5 @@
import React from "react";
import { Provider } from "../../shared/types";
import { Provider } from "../types";
import ProviderForm from "./ProviderForm";
interface AddProviderModalProps {

View File

@@ -1,5 +1,5 @@
import React from 'react'
import { Provider } from '../../shared/types'
import { Provider } from '../types'
import ProviderForm from './ProviderForm'
interface EditProviderModalProps {
@@ -28,4 +28,4 @@ const EditProviderModal: React.FC<EditProviderModalProps> = ({ provider, onSave,
)
}
export default EditProviderModal
export default EditProviderModal

View File

@@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react";
import { Provider } from "../../shared/types";
import { Provider } from "../types";
import {
updateCoAuthoredSetting,
checkCoAuthoredSetting,

View File

@@ -1,5 +1,5 @@
import React from 'react'
import { Provider } from '../../shared/types'
import { Provider } from '../types'
import './ProviderList.css'
interface ProviderListProps {
@@ -113,4 +113,4 @@ const ProviderList: React.FC<ProviderListProps> = ({
)
}
export default ProviderList
export default ProviderList

View File

@@ -1,6 +1,5 @@
import { invoke } from '@tauri-apps/api/core';
import { open } from '@tauri-apps/plugin-shell';
import { Provider } from '../../shared/types';
import { Provider } from '../types';
// 定义配置状态类型
interface ConfigStatus {
@@ -160,4 +159,4 @@ if (typeof window !== 'undefined') {
};
}
export default tauriAPI;
export default tauriAPI;

View File

@@ -1,29 +1,11 @@
export interface Provider {
id: string
name: string
settingsConfig: Record<string, any> // 完整的Claude Code settings.json配置
websiteUrl?: string
id: string;
name: string;
settingsConfig: Record<string, any>; // 完整的 Claude Code settings.json 配置
websiteUrl?: string;
}
export interface AppConfig {
providers: Record<string, Provider>
current: string
providers: Record<string, Provider>;
current: string;
}
declare global {
interface Window {
electronAPI: {
getProviders: () => Promise<Record<string, Provider>>
getCurrentProvider: () => Promise<string>
addProvider: (provider: Provider) => Promise<boolean>
deleteProvider: (id: string) => Promise<boolean>
updateProvider: (provider: Provider) => Promise<boolean>
switchProvider: (providerId: string) => Promise<boolean>
importCurrentConfigAsDefault: () => Promise<{ success: boolean; providerId?: string }>
getClaudeCodeConfigPath: () => Promise<string>
selectConfigFile: () => Promise<string | null>
openConfigFolder: () => Promise<boolean>
openExternal: (url: string) => Promise<boolean>
}
}
}

4
src/vite-env.d.ts vendored
View File

@@ -1,6 +1,6 @@
/// <reference types="vite/client" />
import { Provider } from './shared/types';
import { Provider } from './types';
interface ImportResult {
success: boolean;
@@ -36,4 +36,4 @@ declare global {
}
}
export {};
export {};

View File

@@ -15,6 +15,6 @@
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
},
"include": ["src/renderer/**/*"],
"include": ["src/**/*"],
"references": [{ "path": "./tsconfig.node.json" }]
}
}

View File

@@ -2,10 +2,11 @@ import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
root: 'src',
plugins: [react()],
base: './',
build: {
outDir: 'dist',
outDir: '../dist',
emptyOutDir: true
},
server: {
@@ -14,4 +15,4 @@ export default defineConfig({
},
clearScreen: false,
envPrefix: ['VITE_', 'TAURI_']
})
})