mirror of
https://github.com/cita-777/metapi.git
synced 2026-11-01 20:55:09 +08:00
- Implemented `normalizeMigrationInput` to standardize database migration input for sqlite, mysql, and postgres. - Added `maskConnectionString` to obscure sensitive credentials in connection strings. - Created comprehensive tests for migration input normalization and connection string masking. - Established database schema creation logic for multiple dialects (sqlite, mysql, postgres). - Developed functions for managing database transactions, including begin, commit, and rollback. - Implemented data insertion logic from backup snapshots into the target database.
91 lines
2.7 KiB
JSON
91 lines
2.7 KiB
JSON
{
|
|
"name": "metapi",
|
|
"version": "1.2.0",
|
|
"description": "Meta-layer management and unified proxy for AI API aggregation platforms",
|
|
"keywords": [
|
|
"ai",
|
|
"api-gateway",
|
|
"proxy",
|
|
"fastify",
|
|
"openai",
|
|
"claude",
|
|
"aggregator"
|
|
],
|
|
"homepage": "https://github.com/cita-777/metapi#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/cita-777/metapi/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/cita-777/metapi.git"
|
|
},
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "concurrently \"tsx watch src/server/index.ts\" \"vite\"",
|
|
"build:web": "vite build",
|
|
"build:server": "tsc -p tsconfig.server.json",
|
|
"build": "npm run build:web && npm run build:server",
|
|
"docs:dev": "vitepress dev docs --host 0.0.0.0 --port 4173",
|
|
"docs:build": "vitepress build docs",
|
|
"docs:preview": "vitepress preview docs --host 0.0.0.0 --port 4173",
|
|
"start": "node dist/server/index.js",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "tsx src/server/db/migrate.ts",
|
|
"smoke:db": "tsx scripts/dev/db-smoke.ts",
|
|
"smoke:db:sqlite": "tsx scripts/dev/db-smoke.ts --db-type sqlite",
|
|
"smoke:db:mysql": "tsx scripts/dev/db-smoke.ts --db-type mysql",
|
|
"smoke:db:postgres": "tsx scripts/dev/db-smoke.ts --db-type postgres",
|
|
"test": "vitest run --root .",
|
|
"test:watch": "vitest --root ."
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@fastify/cors": "^11.2.0",
|
|
"@fastify/static": "^9.0.0",
|
|
"@visactor/react-vchart": "^2.0.16",
|
|
"better-sqlite3": "^11.3.0",
|
|
"dotenv": "^16.4.5",
|
|
"drizzle-orm": "^0.36.4",
|
|
"fastify": "^5.7.4",
|
|
"minimatch": "^10.2.4",
|
|
"minimist": "^1.2.8",
|
|
"mysql2": "^3.15.3",
|
|
"node-cron": "^3.0.3",
|
|
"nodemailer": "^8.0.1",
|
|
"pg": "^8.16.3",
|
|
"undici": "^6.20.1"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/better-sqlite3": "^7.6.11",
|
|
"@types/node": "^22.10.1",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/nodemailer": "^7.0.11",
|
|
"@types/pg": "^8.15.6",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"concurrently": "^9.1.0",
|
|
"drizzle-kit": "^0.28.1",
|
|
"mermaid": "^11.12.3",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-router-dom": "^6.28.0",
|
|
"react-test-renderer": "^18.3.1",
|
|
"sharp": "^0.34.5",
|
|
"tailwindcss": "^4.0.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.2",
|
|
"vite": "^6.0.3",
|
|
"vitepress": "^1.6.4",
|
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
"vitest": "^2.1.8"
|
|
},
|
|
"overrides": {
|
|
"minimist": "^1.2.8"
|
|
}
|
|
}
|