convertor/package.json
Dan Mestas 71b52f6c5e feat(api): implement OpenAPI/REST API for file conversions
- Add comprehensive REST API at /api/v1 with modular structure
- Implement authentication endpoints (register, login, logout, me)
- Add converter listing and format discovery endpoints
- Create job management and file download endpoints
- Add health check endpoint for monitoring
- Set up CORS support for browser-based API clients
- Create API middleware for JWT authentication
- Add environment variables for API configuration
- Include comprehensive API documentation and test script

Infrastructure:
- Enhanced CI/CD workflow for custom Docker registries
- Docker Compose setup with dev, prod, and monitoring profiles
- Claude.ai integration files for development workflow
- Environment-based configuration with .env.development

Known limitations:
- JWT authentication context needs fixing (using ALLOW_UNAUTHENTICATED=true)
- Swagger UI temporarily disabled due to composition error
- File upload endpoint needs multipart/form-data support

The API code is isolated in src/api/ directory to maintain separation
from the existing codebase, making it easy to maintain or contribute back.
2025-07-30 14:18:13 -05:00

61 lines
1.7 KiB
JSON

{
"name": "convertx-frontend",
"version": "0.14.1",
"scripts": {
"dev": "bun run --watch src/index.tsx",
"hot": "bun run --hot src/index.tsx",
"format": "run-p 'format:*'",
"format:eslint": "eslint --fix .",
"format:prettier": "prettier --write .",
"build": "bun x @tailwindcss/cli -i ./src/main.css -o ./public/generated.css",
"lint": "run-p 'lint:*'",
"lint:tsc": "tsc --noEmit",
"lint:knip": "knip",
"lint:eslint": "eslint .",
"lint:prettier": "prettier --check ."
},
"dependencies": {
"@elysiajs/html": "^1.3.0",
"@elysiajs/jwt": "^1.3.1",
"@elysiajs/static": "^1.3.0",
"@elysiajs/swagger": "^1.3.1",
"@elysiajs/cors": "^1.3.0",
"@kitajs/html": "^4.2.9",
"elysia": "^1.3.4",
"sanitize-filename": "^1.6.3",
"tar": "^7.4.3"
},
"module": "src/index.tsx",
"type": "module",
"bun-create": {
"start": "bun run src/index.tsx"
},
"devDependencies": {
"@eslint/js": "^9.28.0",
"@ianvs/prettier-plugin-sort-imports": "^4.4.2",
"@kitajs/ts-html-plugin": "^4.1.1",
"@tailwindcss/cli": "^4.1.8",
"@tailwindcss/postcss": "^4.1.8",
"@total-typescript/ts-reset": "^0.6.1",
"@types/bun": "1.2.2",
"@types/node": "^24.0.0",
"@typescript-eslint/parser": "^8.34.0",
"bun-types": "1.2.17",
"eslint": "^9.28.0",
"eslint-plugin-better-tailwindcss": "^3.1.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"globals": "^16.2.0",
"knip": "^5.60.2",
"npm-run-all2": "^8.0.4",
"postcss": "^8.5.4",
"prettier": "^3.5.3",
"tailwind-scrollbar": "^4.0.2",
"tailwindcss": "^4.1.8",
"typescript": "^5.8.3",
"typescript-eslint": "^8.34.0"
},
"trustedDependencies": [
"@parcel/watcher",
"@tailwindcss/oxide"
]
}