- 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:
2274
pnpm-lock.yaml
generated
2274
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
import { useState, useEffect, useRef } from "react";
|
import { useState, useEffect, useRef } from "react";
|
||||||
import { Provider } from "../shared/types";
|
import { Provider } from "./types";
|
||||||
import ProviderList from "./components/ProviderList";
|
import ProviderList from "./components/ProviderList";
|
||||||
import AddProviderModal from "./components/AddProviderModal";
|
import AddProviderModal from "./components/AddProviderModal";
|
||||||
import EditProviderModal from "./components/EditProviderModal";
|
import EditProviderModal from "./components/EditProviderModal";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Provider } from "../../shared/types";
|
import { Provider } from "../types";
|
||||||
import ProviderForm from "./ProviderForm";
|
import ProviderForm from "./ProviderForm";
|
||||||
|
|
||||||
interface AddProviderModalProps {
|
interface AddProviderModalProps {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Provider } from '../../shared/types'
|
import { Provider } from '../types'
|
||||||
import ProviderForm from './ProviderForm'
|
import ProviderForm from './ProviderForm'
|
||||||
|
|
||||||
interface EditProviderModalProps {
|
interface EditProviderModalProps {
|
||||||
@@ -28,4 +28,4 @@ const EditProviderModal: React.FC<EditProviderModalProps> = ({ provider, onSave,
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default EditProviderModal
|
export default EditProviderModal
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { Provider } from "../../shared/types";
|
import { Provider } from "../types";
|
||||||
import {
|
import {
|
||||||
updateCoAuthoredSetting,
|
updateCoAuthoredSetting,
|
||||||
checkCoAuthoredSetting,
|
checkCoAuthoredSetting,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Provider } from '../../shared/types'
|
import { Provider } from '../types'
|
||||||
import './ProviderList.css'
|
import './ProviderList.css'
|
||||||
|
|
||||||
interface ProviderListProps {
|
interface ProviderListProps {
|
||||||
@@ -113,4 +113,4 @@ const ProviderList: React.FC<ProviderListProps> = ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ProviderList
|
export default ProviderList
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import { invoke } from '@tauri-apps/api/core';
|
import { invoke } from '@tauri-apps/api/core';
|
||||||
import { open } from '@tauri-apps/plugin-shell';
|
import { Provider } from '../types';
|
||||||
import { Provider } from '../../shared/types';
|
|
||||||
|
|
||||||
// 定义配置状态类型
|
// 定义配置状态类型
|
||||||
interface ConfigStatus {
|
interface ConfigStatus {
|
||||||
@@ -160,4 +159,4 @@ if (typeof window !== 'undefined') {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default tauriAPI;
|
export default tauriAPI;
|
||||||
|
|||||||
30
src/types.ts
30
src/types.ts
@@ -1,29 +1,11 @@
|
|||||||
export interface Provider {
|
export interface Provider {
|
||||||
id: string
|
id: string;
|
||||||
name: string
|
name: string;
|
||||||
settingsConfig: Record<string, any> // 完整的Claude Code settings.json配置
|
settingsConfig: Record<string, any>; // 完整的 Claude Code settings.json 配置
|
||||||
websiteUrl?: string
|
websiteUrl?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AppConfig {
|
export interface AppConfig {
|
||||||
providers: Record<string, Provider>
|
providers: Record<string, Provider>;
|
||||||
current: string
|
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
4
src/vite-env.d.ts
vendored
@@ -1,6 +1,6 @@
|
|||||||
/// <reference types="vite/client" />
|
/// <reference types="vite/client" />
|
||||||
|
|
||||||
import { Provider } from './shared/types';
|
import { Provider } from './types';
|
||||||
|
|
||||||
interface ImportResult {
|
interface ImportResult {
|
||||||
success: boolean;
|
success: boolean;
|
||||||
@@ -36,4 +36,4 @@ declare global {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {};
|
export {};
|
||||||
|
|||||||
@@ -15,6 +15,6 @@
|
|||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"noFallthroughCasesInSwitch": true
|
"noFallthroughCasesInSwitch": true
|
||||||
},
|
},
|
||||||
"include": ["src/renderer/**/*"],
|
"include": ["src/**/*"],
|
||||||
"references": [{ "path": "./tsconfig.node.json" }]
|
"references": [{ "path": "./tsconfig.node.json" }]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,11 @@ import { defineConfig } from 'vite'
|
|||||||
import react from '@vitejs/plugin-react'
|
import react from '@vitejs/plugin-react'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
root: 'src',
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
base: './',
|
base: './',
|
||||||
build: {
|
build: {
|
||||||
outDir: 'dist',
|
outDir: '../dist',
|
||||||
emptyOutDir: true
|
emptyOutDir: true
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
@@ -14,4 +15,4 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
clearScreen: false,
|
clearScreen: false,
|
||||||
envPrefix: ['VITE_', 'TAURI_']
|
envPrefix: ['VITE_', 'TAURI_']
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user