mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
* feat(discover): implement Discover feature with routing and UI components - Added a new Discover page with sidebar and main content areas. - Integrated routing for Discover, including subcategories and tabs. - Created components for Discover sidebar and main content. - Updated localization files to include new Discover titles and labels. - Refactored existing components to accommodate the new Discover feature. - Enhanced sidebar icons and navigation for better user experience. * feat(discover): enhance Discover page with Tailwind CSS integration and routing improvements - Added Tailwind CSS import to the entry point for styling. - Updated the ThemeProvider to dynamically apply Tailwind themes based on user selection. - Refactored Discover page to utilize new ROUTERS structure for better routing management. - Simplified category handling in useDiscoverCategories hook by leveraging ROUTERS_ENTRIES. - Introduced InternalCategory interface for better type management in Discover components. - Cleaned up unused code and comments for improved readability. * fix: update import statement for linguist-languages in update-languages.ts * fix: standardize import quotes and improve localization files - Updated import statements in use-mobile.ts and motionVariants.ts to use single quotes for consistency. - Added new localization entries for the "discover" section in multiple language files, including English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese. * refactor(discover): simplify Discover page structure and improve routing logic - Refactored DiscoverPage component to streamline tab and sidebar handling. - Updated routing logic to utilize a new ROUTERS_MAP for better category management. - Removed unused props and simplified state management in useDiscoverCategories hook. - Enhanced DiscoverSidebar and DiscoverMain components for improved clarity and performance. - Adjusted CherryStoreType enum values for consistency in path definitions. * fix: update file upload body type in MineruPreprocessProvider - Changed the body of the fetch request from a Buffer to a Uint8Array to ensure proper handling of binary data during PDF uploads. * fix: ensure Blob creation uses a copy of byte arrays for image handling - Updated Blob creation in ImageGenerationMiddleware, ImageViewer, and MessageImage components to use `slice()` on byte arrays, preventing potential mutations of the original data. * chore: update Vite React SWC plugin and adjust Electron config for conditional styling - Upgraded `@vitejs/plugin-react-swc` from version 3.9.0 to 3.11.0 for improved performance and features. - Modified Electron Vite configuration to conditionally apply styled-components plugin based on the VITEST environment variable. - Updated snapshot tests for `InputEmbeddingDimension` and `Spinner` components to reflect style changes. * chore: upgrade @swc/plugin-styled-components to version 9.0.2 in package.json and yarn.lock * refactor: streamline styled-components plugin configuration in Electron Vite setup - Consolidated the styled-components plugin configuration in the Electron Vite config file for improved readability and maintainability. - Removed conditional application of the plugin based on the VITEST environment variable, ensuring consistent styling behavior across environments. * i18n: update translations for discover section across multiple languages - Replaced placeholder text with accurate translations for the "discover" section in English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese. - Ensured consistency in terminology and improved clarity in user-facing messages. * i18n: update "discover" title translations across multiple languages - Updated the "discover" title in English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese to ensure accurate and consistent terminology. - Adjusted related key mappings in the localization files for improved clarity in user-facing messages. * chore: update lucide-react to version 0.536.0 and clean up tsconfig paths * fix: update input style in snapshot tests and format message mentions in MessageContent component
85 lines
2.3 KiB
TypeScript
85 lines
2.3 KiB
TypeScript
import { defineConfig } from 'vitest/config'
|
|
|
|
import electronViteConfig from './electron.vite.config'
|
|
|
|
const mainConfig = (electronViteConfig as any).main
|
|
const rendererConfig = (electronViteConfig as any).renderer
|
|
|
|
export default defineConfig({
|
|
test: {
|
|
projects: [
|
|
// 主进程单元测试配置
|
|
{
|
|
extends: true,
|
|
plugins: mainConfig.plugins,
|
|
resolve: {
|
|
alias: mainConfig.resolve.alias
|
|
},
|
|
test: {
|
|
name: 'main',
|
|
environment: 'node',
|
|
setupFiles: ['tests/main.setup.ts'],
|
|
include: ['src/main/**/*.{test,spec}.{ts,tsx}', 'src/main/**/__tests__/**/*.{test,spec}.{ts,tsx}']
|
|
}
|
|
},
|
|
// 渲染进程单元测试配置
|
|
{
|
|
extends: true,
|
|
// exclude tailwindcss plugin
|
|
plugins: rendererConfig.plugins.filter((plugin: any) => plugin.name !== 'tailwindcss'),
|
|
resolve: {
|
|
alias: rendererConfig.resolve.alias
|
|
},
|
|
test: {
|
|
name: 'renderer',
|
|
environment: 'jsdom',
|
|
setupFiles: ['@vitest/web-worker', 'tests/renderer.setup.ts'],
|
|
include: ['src/renderer/**/*.{test,spec}.{ts,tsx}', 'src/renderer/**/__tests__/**/*.{test,spec}.{ts,tsx}']
|
|
}
|
|
},
|
|
// 脚本单元测试配置
|
|
{
|
|
extends: true,
|
|
test: {
|
|
name: 'scripts',
|
|
environment: 'node',
|
|
include: ['scripts/**/*.{test,spec}.{ts,tsx}', 'scripts/**/__tests__/**/*.{test,spec}.{ts,tsx}']
|
|
}
|
|
}
|
|
],
|
|
// 全局共享配置
|
|
globals: true,
|
|
setupFiles: [],
|
|
exclude: ['**/node_modules/**', '**/dist/**', '**/out/**', '**/build/**'],
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html', 'lcov', 'text-summary'],
|
|
exclude: [
|
|
'**/node_modules/**',
|
|
'**/dist/**',
|
|
'**/out/**',
|
|
'**/build/**',
|
|
'**/coverage/**',
|
|
'**/tests/**',
|
|
'**/.yarn/**',
|
|
'**/.cursor/**',
|
|
'**/.vscode/**',
|
|
'**/.github/**',
|
|
'**/.husky/**',
|
|
'**/*.d.ts',
|
|
'**/types/**',
|
|
'**/__tests__/**',
|
|
'**/*.{test,spec}.{ts,tsx}',
|
|
'**/*.config.{js,ts}'
|
|
]
|
|
},
|
|
testTimeout: 20000,
|
|
pool: 'threads',
|
|
poolOptions: {
|
|
threads: {
|
|
singleThread: false
|
|
}
|
|
}
|
|
}
|
|
})
|