| { |
| "name": "myblogs", |
| "private": true, |
| "scripts": { |
| "install:all": "npm install", |
| "build:auth-service": "nest build auth-service", |
| "build:blog-service": "nest build blog-service", |
| "build:media-service": "nest build media-service", |
| "build:api-gateway": "nest build api-gateway", |
| "build:frontend": "vite build --config frontend/vite.config.js", |
| "build:all": "npm run build:auth-service && npm run build:blog-service && npm run build:media-service && npm run build:api-gateway && npm run build:frontend", |
| "start:auth-service": "nest start auth-service --watch", |
| "start:blog-service": "nest start blog-service --watch", |
| "start:media-service": "nest start media-service --watch", |
| "start:api-gateway": "nest start api-gateway --watch", |
| "dev:frontend": "vite --config frontend/vite.config.js", |
| "start": "dotenv -e .env -- concurrently \"npm run start:auth-service\" \"npm run start:blog-service\" \"npm run start:media-service\" \"npm run start:api-gateway\" \"npm run dev:frontend\"", |
| "start:all": "npm start", |
| "start:backend": "dotenv -e .env -- concurrently \"npm run start:auth-service\" \"npm run start:blog-service\" \"npm run start:media-service\" \"npm run start:api-gateway\"", |
| "seed": "cd blog-service && ts-node src/seed.ts", |
| "test:auth-service": "jest --config auth-service/jest.config.js", |
| "test:blog-service": "jest --config blog-service/jest.config.js", |
| "test:media-service": "jest --config media-service/jest.config.js", |
| "test:api-gateway": "jest --config api-gateway/jest.config.js", |
| "test:cov:auth-service": "jest --config auth-service/jest.config.js --coverage", |
| "test:cov:blog-service": "jest --config blog-service/jest.config.js --coverage", |
| "test:cov:media-service": "jest --config media-service/jest.config.js --coverage", |
| "test:cov:api-gateway": "jest --config api-gateway/jest.config.js --coverage", |
| "test:frontend": "vitest run --config frontend/vite.config.js", |
| "test:cov:frontend": "vitest run --coverage --config frontend/vite.config.js", |
| "sonar": "dotenv -e .env -- sh -c 'sonar-scanner -Dsonar.projectKey=\"$SONAR_PROJECT_KEY\" -Dsonar.scanner.socketTimeout=300 -Dsonar.scanner.responseTimeout=300'", |
| "sonar:gate": "dotenv -e .env -- sh scripts/sonar-quality-gate.sh", |
| "sonar:check": "npm run sonar && npm run sonar:gate", |
| "codeql:gate": "sh scripts/codeql-quality-gate.sh", |
| "coverage:python": "python3 -m pytest --cov=meridian_agents --cov-report=xml:coverage-python.xml --cov-report=term", |
| "coverage:all": "npm run test:cov:auth-service && npm run test:cov:blog-service && npm run test:cov:media-service && npm run test:cov:api-gateway && npm run test:cov:frontend && npm run coverage:python", |
| "sonar:full": "npm run coverage:all && npm run sonar:check" |
| }, |
| "dependencies": { |
| "@neondatabase/serverless": "^1.1.0", |
| "@nestjs/common": "^11.1.27", |
| "@nestjs/core": "^11.1.27", |
| "@nestjs/jwt": "^11.0.2", |
| "@nestjs/passport": "^11.0.0", |
| "@nestjs/platform-express": "^11.1.27", |
| "@nestjs/typeorm": "^11.0.2", |
| "@tailwindcss/typography": "^0.5.20", |
| "@tailwindcss/vite": "^4.3.1", |
| "@tiptap/core": "^3.27.1", |
| "@tiptap/extension-blockquote": "^3.27.1", |
| "@tiptap/extension-bold": "^3.27.1", |
| "@tiptap/extension-bullet-list": "^3.27.1", |
| "@tiptap/extension-code": "^3.27.1", |
| "@tiptap/extension-code-block": "^3.27.1", |
| "@tiptap/extension-code-block-lowlight": "^3.27.1", |
| "@tiptap/extension-document": "^3.27.1", |
| "@tiptap/extension-dropcursor": "^3.27.1", |
| "@tiptap/extension-gapcursor": "^3.27.1", |
| "@tiptap/extension-hard-break": "^3.27.1", |
| "@tiptap/extension-heading": "^3.27.1", |
| "@tiptap/extension-horizontal-rule": "^3.27.1", |
| "@tiptap/extension-image": "^3.27.1", |
| "@tiptap/extension-italic": "^3.27.1", |
| "@tiptap/extension-link": "^3.27.1", |
| "@tiptap/extension-list": "^3.27.1", |
| "@tiptap/extension-list-item": "^3.27.1", |
| "@tiptap/extension-list-keymap": "^3.27.1", |
| "@tiptap/extension-ordered-list": "^3.27.1", |
| "@tiptap/extension-paragraph": "^3.27.1", |
| "@tiptap/extension-placeholder": "^3.27.1", |
| "@tiptap/extension-strike": "^3.27.1", |
| "@tiptap/extension-text": "^3.27.1", |
| "@tiptap/extension-underline": "^3.27.1", |
| "@tiptap/extensions": "^3.27.1", |
| "@tiptap/pm": "^3.27.1", |
| "@tiptap/starter-kit": "^3.27.1", |
| "@tiptap/vue-3": "^3.27.1", |
| "@vueuse/core": "^14.3.0", |
| "axios": "^1.18.0", |
| "bcryptjs": "^3.0.3", |
| "better-sqlite3": "^12.11.1", |
| "class-transformer": "^0.5.1", |
| "class-validator": "^0.14.1", |
| "date-fns": "^4.4.0", |
| "dotenv": "^17.4.2", |
| "form-data": "^4.0.6", |
| "highlight.js": "^11.11.1", |
| "lowlight": "^3.3.0", |
| "lucide-vue-next": "^1.0.0", |
| "multer": "^2.2.0", |
| "passport": "^0.7.0", |
| "passport-jwt": "^4.0.1", |
| "passport-local": "^1.0.0", |
| "pg": "^8.22.0", |
| "pinia": "^3.0.4", |
| "reflect-metadata": "^0.2.2", |
| "rxjs": "^7.8.1", |
| "slugify": "^1.6.6", |
| "tailwindcss": "^4.3.1", |
| "typeorm": "^0.3.19", |
| "uuid": "^14.0.1", |
| "vue": "^3.5.38", |
| "vue-router": "^4.6.4", |
| "web-push": "^3.6.7", |
| "ws": "^8.21.0" |
| }, |
| "devDependencies": { |
| "@nestjs/cli": "^11.0.0", |
| "@nestjs/testing": "^11.1.27", |
| "@sonar/scan": "^4.3.8", |
| "@types/bcryptjs": "^3.0.0", |
| "@types/better-sqlite3": "^7.6.8", |
| "@types/jest": "^30.0.0", |
| "@types/multer": "^2.1.0", |
| "@types/node": "^26.0.0", |
| "@types/passport-jwt": "^4.0.1", |
| "@types/passport-local": "^1.0.38", |
| "@types/uuid": "^9.0.7", |
| "@types/web-push": "^3.6.4", |
| "@types/ws": "^8.5.14", |
| "@vitejs/plugin-vue": "^6.0.6", |
| "@vitest/coverage-v8": "^4.1.9", |
| "@vue/test-utils": "^2.4.6", |
| "concurrently": "^8.2.2", |
| "dotenv-cli": "^11.0.0", |
| "happy-dom": "^20.10.6", |
| "jest": "^30.4.2", |
| "ts-jest": "^29.2.0", |
| "ts-node": "^10.9.2", |
| "typescript": "^6.0.3", |
| "vite": "^8.0.16", |
| "vite-plugin-pwa": "^1.3.0", |
| "vitest": "^4.1.9" |
| }, |
| "overrides": { |
| "@nestjs/typeorm": { |
| "@nestjs/common": "^11.0.0", |
| "@nestjs/core": "^11.0.0" |
| } |
| } |
| } |
|
|