♻️ refactor: reorganize project structure and centralize search engine config

- Move all source files from root to src/ directory for better organization
- Create src/config/searchEngines.ts to centralize search engine configurations
  - Define unified SearchEngineConfig interface
  - Support both JSONP and Fetch request methods
  - Implement response parsers for Google, Baidu, Bing, DuckDuckGo, and Bilibili
- Refactor src/utils/suggestions.ts to use centralized config
  - Simplify code from 126 lines to 81 lines
  - Support hybrid JSONP/Fetch mode (Bilibili uses Fetch via Vite proxy)
  - Remove duplicate URL construction and parsing logic
- Update path alias configuration
  - Change @/* from ./* to ./src/* in tsconfig.json
  - Update vite.config.ts alias to point to ./src
- Add Bilibili proxy configuration in vite.config.ts for development
- Remove Bilibili rewrites from vercel.json (use Vite proxy instead)
- Add @vercel/node to devDependencies
- Remove unused files: README.md, i18n/README.md, metadata.json, vite-env.d.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ZyphrZero
2025-12-05 10:41:17 +08:00
parent aa46cd16b7
commit 2993f9b859
34 changed files with 1274 additions and 405 deletions

View File

@@ -29,16 +29,12 @@ Click the button above to deploy your own instance of AeroStart to Vercel in min
```bash
pnpm install
# or
npm install
```
### Run Development Server
```bash
pnpm dev
# or
npm run dev
```
Visit `http://localhost:3000` to view the application.
@@ -47,8 +43,6 @@ Visit `http://localhost:3000` to view the application.
```bash
pnpm build
# or
npm run build
```
## 🎯 Usage Guide
@@ -97,28 +91,6 @@ AeroStart/
└── index.tsx # Application entry point
```
## 🎨 Customization
### Add Search Engine
Edit the `SEARCH_ENGINES` array in `constants.ts`:
```typescript
{
name: 'Engine Name',
urlPattern: 'https://example.com/search?q=',
icon: 'SVG icon string'
}
```
### Add Theme Color
Edit the `THEMES` array in `constants.ts`:
```typescript
{ name: 'Theme Name', hex: '#colorcode' }
```
## 📄 License
MIT License