feat(web): init project scaffold with package.json and tsconfig

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 02:16:46 +08:00
parent e848f32a11
commit 380df630ec
5 changed files with 5087 additions and 0 deletions

13
web/client/tsconfig.json Normal file
View File

@@ -0,0 +1,13 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"jsx": "react-jsx",
"outDir": "./dist",
"rootDir": "./src",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["./src/**/*.ts", "./src/**/*.tsx"]
}

5009
web/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

41
web/package.json Normal file
View File

@@ -0,0 +1,41 @@
{
"name": "meitu-agent",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
"dev:server": "tsx watch server/index.ts",
"dev:client": "vite --config client/vite.config.ts",
"build": "vite build --config client/vite.config.ts",
"db:init": "tsx server/db/schema.ts"
},
"dependencies": {
"express": "^4.21.0",
"ws": "^8.18.0",
"better-sqlite3": "^11.6.0",
"zod": "^3.23.0",
"cors": "^2.8.5",
"zustand": "^5.0.0",
"react": "^18.3.0",
"react-dom": "^18.3.0",
"lucide-react": "^0.460.0",
"clsx": "^2.1.0",
"tailwind-merge": "^2.6.0"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/ws": "^8.5.0",
"@types/better-sqlite3": "^7.6.0",
"@types/cors": "^2.8.0",
"@types/react": "^18.3.0",
"@types/react-dom": "^18.3.0",
"typescript": "^5.6.0",
"tsx": "^4.19.0",
"vite": "^5.4.0",
"@vitejs/plugin-react": "^4.3.0",
"tailwindcss": "^3.4.0",
"postcss": "^8.4.0",
"autoprefixer": "^10.4.0",
"concurrently": "^9.1.0"
}
}

9
web/server/tsconfig.json Normal file
View File

@@ -0,0 +1,9 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"module": "ESNext",
"outDir": "./dist",
"rootDir": "."
},
"include": ["./**/*.ts"]
}

15
web/tsconfig.base.json Normal file
View File

@@ -0,0 +1,15 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
}
}