build(turbo): add boundaries enforcement matching ESLint dependency graph

Per-package tags + root boundaries block now enforce the same three-tag
model as eslint-plugin-boundaries:
- app          → may depend on: app, core, core-composition, feature, tooling
- feature      → may depend on: core, tooling
- core         → may depend on: core, core-composition, tooling
- core-composition (core-api, core-cms) → may depend on: core, feature, tooling
- tooling (core-eslint, core-typescript) → may depend on: tooling

Tags applied: 4 apps (app), 3 core foundation packages (core),
2 core composition packages (core-composition), 5 features (feature),
2 tooling packages (tooling). All test suites pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-05 11:59:44 +02:00
parent 0972645ebb
commit 9899e213ca
9 changed files with 55 additions and 2 deletions

View File

@@ -1,6 +1,35 @@
{
"$schema": "https://turborepo.dev/schema.json",
"globalEnv": ["CI", "DATABASE_URL", "PAYLOAD_SECRET", "NODE_ENV"],
"boundaries": {
"tags": {
"app": {
"dependencies": {
"allow": ["app", "core", "core-composition", "feature", "tooling"]
}
},
"feature": {
"dependencies": {
"allow": ["core", "tooling"]
}
},
"core": {
"dependencies": {
"allow": ["core", "core-composition", "tooling"]
}
},
"core-composition": {
"dependencies": {
"allow": ["core", "feature", "tooling"]
}
},
"tooling": {
"dependencies": {
"allow": ["tooling"]
}
}
}
},
"tasks": {
"build": {
"dependsOn": ["^build"],