mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:01:09 +02:00
🔧 chore: enforce monorepo best practices with automated validation
Fix critical issues and add validation to prevent future violations: **Fixes:** - Remove turbo recursion in 5 app packages (infinite loop risk) - Add "private": true to 11 packages (prevent accidental publishing) - Rename @mana-core/nestjs-integration → @manacore/nestjs-integration - Remove prepublishOnly scripts from 3 private packages **New:** - Add scripts/validate-monorepo.mjs with 4 critical checks - Add validate:monorepo command to package.json - Integrate validation into CI pipeline (.github/workflows/ci.yml) - Document validation in CLAUDE.md All 80 package.json files now pass validation ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
079b55a796
commit
5b7d3c649b
29 changed files with 304 additions and 25 deletions
|
|
@ -4,7 +4,7 @@
|
|||
"private": true,
|
||||
"description": "Calendar App - Personal and Shared Calendars with CalDAV/iCal Sync",
|
||||
"scripts": {
|
||||
"dev": "turbo run dev",
|
||||
"dev": "pnpm run --filter=@calendar/* --parallel dev",
|
||||
"dev:backend": "pnpm --filter @calendar/backend dev",
|
||||
"dev:web": "pnpm --filter @calendar/web dev",
|
||||
"dev:landing": "pnpm --filter @calendar/landing dev",
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
"private": true,
|
||||
"description": "Chat project - AI chat application with mobile, web and landing",
|
||||
"scripts": {
|
||||
"dev": "turbo run dev"
|
||||
"dev": "pnpm run --filter=@chat/* --parallel dev"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"private": true,
|
||||
"description": "Contacts App - Contact Management with Manacore Integration",
|
||||
"scripts": {
|
||||
"dev": "turbo run dev",
|
||||
"dev": "pnpm run --filter=@contacts/* --parallel dev",
|
||||
"dev:backend": "pnpm --filter @contacts/backend dev",
|
||||
"dev:web": "pnpm --filter @contacts/web dev",
|
||||
"dev:landing": "pnpm --filter @contacts/landing dev",
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "turbo run dev"
|
||||
"dev": "pnpm --filter @context/mobile dev"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"test:e2e": "jest --config ./test/jest-e2e.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mana-core/nestjs-integration": "workspace:*",
|
||||
"@manacore/nestjs-integration": "workspace:*",
|
||||
"@manacore/shared-errors": "workspace:*",
|
||||
"@google/genai": "^1.14.0",
|
||||
"@manacore/manadeck-database": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { ConfigModule, ConfigService } from '@nestjs/config';
|
|||
import { ClsModule } from 'nestjs-cls';
|
||||
import { TerminusModule } from '@nestjs/terminus';
|
||||
import { HttpModule } from '@nestjs/axios';
|
||||
import { ManaCoreModule } from '@mana-core/nestjs-integration';
|
||||
import { ManaCoreModule } from '@manacore/nestjs-integration';
|
||||
import { AppController } from './app.controller';
|
||||
import { AppService } from './app.service';
|
||||
import { ApiController } from './controllers/api.controller';
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import {
|
|||
Logger,
|
||||
BadRequestException,
|
||||
} from '@nestjs/common';
|
||||
import { AuthGuard } from '@mana-core/nestjs-integration/guards';
|
||||
import { CurrentUser } from '@mana-core/nestjs-integration/decorators';
|
||||
import { CreditClientService } from '@mana-core/nestjs-integration';
|
||||
import { AuthGuard } from '@manacore/nestjs-integration/guards';
|
||||
import { CurrentUser } from '@manacore/nestjs-integration/decorators';
|
||||
import { CreditClientService } from '@manacore/nestjs-integration';
|
||||
import { isOk, CreditError, ServiceError } from '@manacore/shared-errors';
|
||||
import {
|
||||
CreditOperationType,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Controller, Get } from '@nestjs/common';
|
||||
import { HealthCheckService, HttpHealthIndicator, HealthCheck } from '@nestjs/terminus';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { Public } from '@mana-core/nestjs-integration/decorators';
|
||||
import { Public } from '@manacore/nestjs-integration/decorators';
|
||||
|
||||
@Controller('health')
|
||||
export class HealthController {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Controller, Get, UseGuards, Query, Logger } from '@nestjs/common';
|
||||
import { OptionalAuthGuard } from '@mana-core/nestjs-integration/guards';
|
||||
import { CurrentUser, Public } from '@mana-core/nestjs-integration/decorators';
|
||||
import { OptionalAuthGuard } from '@manacore/nestjs-integration/guards';
|
||||
import { CurrentUser, Public } from '@manacore/nestjs-integration/decorators';
|
||||
import { DeckRepository, UserStatsRepository, DeckTemplateRepository } from '../database';
|
||||
|
||||
@Controller('public')
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.700.0",
|
||||
"@mana-core/nestjs-integration": "workspace:*",
|
||||
"@manacore/nestjs-integration": "workspace:*",
|
||||
"@manacore/shared-errors": "workspace:*",
|
||||
"@manacore/shared-nestjs-auth": "workspace:*",
|
||||
"@manacore/shared-nestjs-cors": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
import { ConfigModule, ConfigService } from '@nestjs/config';
|
||||
import { ManaCoreModule } from '@mana-core/nestjs-integration';
|
||||
import { ManaCoreModule } from '@manacore/nestjs-integration';
|
||||
import { DatabaseModule } from './db/database.module';
|
||||
import { HealthModule } from './health/health.module';
|
||||
import { ModelModule } from './model/model.module';
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import {
|
|||
} from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { eq } from 'drizzle-orm';
|
||||
import { CreditClientService } from '@mana-core/nestjs-integration';
|
||||
import { CreditClientService } from '@manacore/nestjs-integration';
|
||||
import { DATABASE_CONNECTION } from '../db/database.module';
|
||||
import { Database } from '../db/connection';
|
||||
import { imageGenerations, images, models } from '../db/schema';
|
||||
|
|
|
|||
|
|
@ -4,13 +4,10 @@
|
|||
"private": true,
|
||||
"description": "Todo App - Task Management for ManaCore Ecosystem",
|
||||
"scripts": {
|
||||
"dev": "turbo run dev",
|
||||
"dev": "pnpm run --filter=@todo/* --parallel dev",
|
||||
"dev:backend": "pnpm --filter @todo/backend dev",
|
||||
"dev:web": "pnpm --filter @todo/web dev",
|
||||
"dev:landing": "pnpm --filter @todo/landing dev",
|
||||
"build": "turbo run build",
|
||||
"lint": "turbo run lint",
|
||||
"clean": "turbo run clean",
|
||||
"db:push": "pnpm --filter @todo/backend db:push",
|
||||
"db:studio": "pnpm --filter @todo/backend db:studio",
|
||||
"db:seed": "pnpm --filter @todo/backend db:seed"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue