Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.activepieces.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

The Activepieces monorepo has fully migrated to Turbo. This guide is kept for historical reference and for users with older forks that still use the Nx-based build system.
If you have an existing fork with custom pieces built using the old Nx-based build system, you need to migrate them to the new Turbo-based build system. This guide explains what changed and provides a migration script.

What Changed

The Activepieces monorepo replaced Nx with Turbo as its build orchestrator. For pieces, this means:
Old (Nx)New (Turbo)
Build configproject.json per piecepackage.json scripts
Build commandnx build pieces-{name}turbo run build --filter=@activepieces/piece-{name}
Output directorydist/out-tsc (shared)./dist (local per piece)
Task runnerNx executor (@nx/js:tsc)Direct tsc -p tsconfig.lib.json && cp package.json dist/
DependenciesInferred by Nx graphWorkspace protocol (workspace:*) in package.json

Files affected per piece

  • project.json — Deleted (no longer needed)
  • package.json — Added build and lint scripts, added main and types fields, added workspace dependencies
  • tsconfig.lib.json — Updated outDir, added rootDir, baseUrl, paths

Automatic Migration

Run the migration script to update all custom pieces at once:
npx ts-node tools/scripts/migrate-custom-piece-to-turbo.ts
This scans packages/pieces/custom/ and applies all necessary changes.

Migrate a specific piece

You can also pass a path to migrate a single piece:
npx ts-node tools/scripts/migrate-custom-piece-to-turbo.ts packages/pieces/custom/my-piece

What the script does

For each piece, the script:
  1. Updates package.json — adds build and lint scripts, sets main and types entry points, ensures @activepieces/pieces-framework, @activepieces/shared, and tslib are listed as dependencies
  2. Updates tsconfig.lib.json — sets outDir to ./dist, adds rootDir, baseUrl, paths, and declaration settings
  3. Creates tsconfig.json if missing — extends the root tsconfig.base.json
  4. Deletes project.json — removes Nx configuration

Verify the Migration

After migrating, build your piece to verify everything works:
npx turbo run build --filter=@activepieces/piece-your-piece --force
Or use the CLI:
npm run build-piece your-piece
The build output should appear in packages/pieces/custom/your-piece/dist/.