Max Peintner
312b7b6010
chore: 🚀 Migrate monorepo from Yarn to pnpm + Turbo integration + Configuration cleanup ( #10165 )
...
This PR modernizes the ZITADEL monorepo build system by migrating from
Yarn to pnpm, introducing Turbo for improved build orchestration, and
cleaning up configuration inconsistencies across all apps and packages.
### 🎯 Key Improvements
#### 📦 **Package Manager Migration (Yarn → pnpm)**
- **Performance**: Faster installs with pnpm's efficient symlink-based
node_modules structure
- **Disk space**: Significant reduction in disk usage through
content-addressable storage
- **Lockfile**: More reliable dependency resolution with pnpm-lock.yaml
- **Workspace support**: Better monorepo dependency management
#### ⚡ **Turbo Integration**
- **Build orchestration**: Dependency-aware task execution across the
monorepo
- **Intelligent caching**: Dramatically faster builds on CI/CD and local
development
- **Parallel execution**: Optimal task scheduling based on dependency
graphs
- **Vercel optimization**: Enhanced build performance and caching on
Vercel deployments
#### 🧹 **Configuration Cleanup & Unification**
- **Removed config packages**: Eliminated `@zitadel/*-config` packages
and inlined configurations
- **Simplified dependencies**: Reduced complexity in package.json files
across all apps
- **Consistent tooling**: Unified prettier, ESLint, and TypeScript
configurations
- **Standalone support**: Improved prepare-standalone.js script for
subtree deployments
### 📋 Detailed Changes
#### **🔧 Build System & Dependencies**
- ✅ Updated all package.json scripts to use `pnpm` instead of `yarn`
- ✅ Replaced `yarn.lock` with pnpm-lock.yaml and regenerated
dependencies
- ✅ Added Turbo configuration (turbo.json) to root and individual
packages
- ✅ Configured proper dependency chains: `@zitadel/proto#generate` →
`@zitadel/client#build` → `console#build`
- ✅ Added missing `@bufbuild/protobuf` dependency to console app for
TypeScript compilation
#### **🚀 CI/CD & Workflows**
- ✅ Updated all GitHub Actions workflows to use `pnpm/action-setup@v4`
- ✅ Migrated build processes to use Turbo with directory-based filters
(`--filter=./console`)
- ✅ **New**: Added `docs.yml` workflow for building documentation
locally (helpful for contributors without Vercel access)
- ✅ Fixed dependency resolution issues in lint workflows
- ✅ Ensured proto generation always runs before builds and linting
#### **📚 Documentation & Proto Generation**
- ✅ **Robust plugin management**: Enhanced plugin-download.sh with retry
logic and error handling
- ✅ **Vercel compatibility**: Fixed protoc-gen-connect-openapi plugin
availability in Vercel builds
- ✅ **API docs generation**: Resolved Docusaurus build errors with
OpenAPI plugin configuration
- ✅ **Type safety**: Improved TypeScript type extraction patterns in
Angular components
#### **🛠️ Developer Experience**
- ✅ Updated all README files to reference pnpm commands
- ✅ Improved Makefile targets to use Turbo for consistent builds
- ✅ Enhanced standalone build process for login app subtree deployments
- ✅ Added debug utilities for troubleshooting build issues
#### **🗂️ File Structure & Cleanup**
- ✅ Removed obsolete configuration packages and their references
- ✅ Cleaned up Docker files to remove non-existent package copies
- ✅ Updated workspace references and import paths
- ✅ Streamlined turbo.json configurations across all packages
### 🎉 Benefits
1. **⚡ Faster Builds**: Turbo's caching and parallel execution
significantly reduce build times
2. **🔄 Better Caching**: Improved cache hits on Vercel and CI/CD
environments
3. **🛠️ Simplified Maintenance**: Unified tooling and configuration
management
4. **📈 Developer Productivity**: Faster local development with optimized
dependency resolution
5. **🚀 Enhanced CI/CD**: More reliable and faster automated builds and
deployments
6. **📖 Better Documentation**: Comprehensive build documentation and
troubleshooting guides
### 🧪 Testing
- ✅ All apps build successfully with new pnpm + Turbo setup
- ✅ Proto generation works correctly across console, login, and docs
- ✅ GitHub Actions workflows pass with new configuration
- ✅ Vercel deployments work with enhanced plugin management
- ✅ Local development workflow verified and documented
This migration sets a solid foundation for future development while
maintaining backward compatibility and improving the overall developer
experience.
---------
Co-authored-by: Elio Bischof <elio@zitadel.com >
2025-07-16 09:10:19 +02:00
Florian Forster
dfc9488bb5
docs: rework documentation site ( #1589 )
...
* initial commit
* inital changes
* commit WIP Information Architecture
* commit a working state
* add static assets and project
* add org and fix img names
* add plausible
* remove img
* change sidebar to easier mgmt
* add openid oauth and domains
* lint md
* quickstarts
* add auth flow
* identity brokering
* remove site
* fix broken links
* extend footer
* extend readme
* fix: styling
* fix: zitadel logo on index
* styling
* border
* fix: nav
* fix: nav
* fix: index
* fix: rename architecture to concepts
* fix: introductions
* fix: introductions
* fix: introductions
* fix: get started
* fix: user manual
* fix: zitadel architecture
* fix: dead links
* add favicon
Co-authored-by: fabi <fabienne.gerschwiler@gmail.com >
Co-authored-by: Livio Amstutz <livio.a@gmail.com >
2021-04-15 13:22:37 +02:00
Livio Amstutz
dd9f1d3c17
chore(workflow): run docs on any branch ( #1580 )
...
* chore(workflow): run docs on any branch
* Update README.md
2021-04-12 13:15:17 +02:00
Livio Amstutz
0fe325bdd7
chore(workflow): ignore tags for docs and codecov flows ( #1564 )
2021-04-09 13:51:27 +02:00
Livio Amstutz
3487a7a713
chore: rename master to main ( #1550 )
...
* chore: rename master to main
* docs
2021-04-07 16:07:15 +02:00
Florian Forster
3deedfe863
chore: docker site gen for docs, update npm base image, fix chrome in docs page, jwt profile ( #1019 )
...
* initial version with docker
* move folder
* use correct path
* remove typo scanner
* change in site
* move dockerignore
* use proper path
* docs: chrome moving header, max width table, overflow on mobile (#1012 )
* fix: table renderer, chrome moving header, mobile table
* card elevation
* chore(deps): bump node from 12 to 15 in /build (#967 )
Bumps node from 12 to 15.
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs(oauth2): jwt profile (#954 )
* first draft of JWT profile
* additional infos
* WIP Claim matrix
* restructure docs
* extend matrix
* typo
* use correct translation
* order tables a to z
* claim description
* remark
* describe username
Co-authored-by: Florian Forster <ffo@ffo-macbook.localdomain >
Co-authored-by: Max Peintner <max@caos.ch >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-01 16:35:58 +01:00
Florian Forster
103d786ad2
fix(container): stop copying / and instead only copy zitadel ( #691 )
...
* chore: stop copying / and instead only copy zitadel
* Update Dockerfile
* Update release.yml
* enable anchors debug
* fix(container): don't copy alpine content into scratch execpt pwd
* chore: remove need step
* merge master
2020-10-02 09:38:49 +02:00
Florian Forster
46adcf8fe2
chore(docs): only deploy on master branch ( #718 )
2020-09-09 16:10:35 +02:00
Livio Amstutz
a2aabe577a
chore(site): run workflow only on site
changes ( #696 )
...
* chore(site): run workflow only on `site` changes
* Update .github/workflows/docs.yml
Co-authored-by: Florian Forster <florian@caos.ch >
Co-authored-by: Florian Forster <florian@caos.ch >
2020-09-04 12:23:15 +02:00
Max Peintner
2c517d6278
feat(documentation): svelte app as document generator ( #566 )
...
* check in full site application
* rm unused assets components
* change base css
* i18n
* new doc workflow
* fix crosslink to doc in github
* nav, console link, assets, console brand
* edit configjs server
* rm go struct references
* cleanup input output bindings
* working dir
* export path
* always trigger
* rel paths
* cname
* rev workdir
* fix fallbacklanguage, home on large screens
* remove mit from site
2020-08-11 09:53:09 +02:00