Skip to content

fix(retail-store): configure Turbo build outputs for Next.js#343

Merged
aqrln merged 1 commit intomainfrom
fix/retail-store-turbo-outputs
Apr 15, 2026
Merged

fix(retail-store): configure Turbo build outputs for Next.js#343
aqrln merged 1 commit intomainfrom
fix/retail-store-turbo-outputs

Conversation

@aqrln
Copy link
Copy Markdown
Member

@aqrln aqrln commented Apr 15, 2026

Problem

The root turbo.json declares dist/** as the expected build output for all build tasks. However, retail-store is a Next.js app whose next build outputs to .next/, not dist/. This causes Turborepo to emit a warning on every build:

WARNING  no output files found for task retail-store#build. Please check your \`outputs\` key in \`turbo.json\`

Fix

Add a package-level turbo.json in examples/retail-store/ that extends the root config and overrides the build task outputs to .next/** (excluding .next/cache/**, which Next.js manages internally).

This is the standard Turborepo pattern for Next.js apps.

Summary by CodeRabbit

  • Chores
    • Added a Turbo build pipeline configuration for the retail-store example to standardize build inputs and outputs.
    • Ensures build artifacts target the production output directory while excluding build cache content to reduce artifact noise.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 15, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 50a3f72f-72c0-40b7-80b3-eb64fe9495d5

📥 Commits

Reviewing files that changed from the base of the PR and between 191c519 and cead875.

📒 Files selected for processing (1)
  • examples/retail-store/turbo.json
✅ Files skipped from review due to trivial changes (1)
  • examples/retail-store/turbo.json

📝 Walkthrough

Walkthrough

Adds a Turbo pipeline configuration file to the retail-store example that defines a build task with declared inputs, outputs constrained to .next/**, and an explicit exclusion for .next/cache/**.

Changes

Cohort / File(s) Summary
Turbo Build Configuration
examples/retail-store/turbo.json
Adds a Turbo pipeline config declaring $schema and extends, defines a tasks.build entry with project inputs, output pattern .next/**, and excludes .next/cache/**.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A small file hopped into place,
Declaring builds with tidy grace.
Inputs listed, outputs kept clear,
Cache excluded — hops of cheer! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding Turbo build output configuration for the Next.js retail-store example to resolve the output mismatch issue.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/retail-store-turbo-outputs

Comment @coderabbitai help to get the list of available commands and usage tips.

@aqrln aqrln marked this pull request as draft April 15, 2026 16:49
@aqrln aqrln force-pushed the fix/retail-store-turbo-outputs branch from 77792b4 to 191c519 Compare April 15, 2026 16:50
@aqrln aqrln marked this pull request as ready for review April 15, 2026 16:50
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 15, 2026

Open in StackBlitz

@prisma-next/mongo-runtime

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-runtime@343

@prisma-next/family-mongo

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/family-mongo@343

@prisma-next/sql-runtime

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-runtime@343

@prisma-next/family-sql

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/family-sql@343

@prisma-next/middleware-telemetry

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/middleware-telemetry@343

@prisma-next/extension-paradedb

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/extension-paradedb@343

@prisma-next/extension-pgvector

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/extension-pgvector@343

@prisma-next/postgres

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/postgres@343

@prisma-next/sql-orm-client

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-orm-client@343

@prisma-next/sqlite

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sqlite@343

@prisma-next/target-mongo

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/target-mongo@343

@prisma-next/adapter-mongo

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/adapter-mongo@343

@prisma-next/driver-mongo

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/driver-mongo@343

@prisma-next/contract

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/contract@343

@prisma-next/utils

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/utils@343

@prisma-next/config

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/config@343

@prisma-next/errors

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/errors@343

@prisma-next/framework-components

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/framework-components@343

@prisma-next/operations

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/operations@343

@prisma-next/contract-authoring

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/contract-authoring@343

@prisma-next/ids

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/ids@343

@prisma-next/psl-parser

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/psl-parser@343

@prisma-next/psl-printer

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/psl-printer@343

@prisma-next/cli

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/cli@343

@prisma-next/emitter

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/emitter@343

@prisma-next/migration-tools

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/migration-tools@343

@prisma-next/vite-plugin-contract-emit

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/vite-plugin-contract-emit@343

@prisma-next/runtime-executor

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/runtime-executor@343

@prisma-next/mongo-codec

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-codec@343

@prisma-next/mongo-contract

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-contract@343

@prisma-next/mongo-value

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-value@343

@prisma-next/mongo-contract-psl

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-contract-psl@343

@prisma-next/mongo-contract-ts

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-contract-ts@343

@prisma-next/mongo-emitter

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-emitter@343

@prisma-next/mongo-schema-ir

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-schema-ir@343

@prisma-next/mongo-query-ast

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-query-ast@343

@prisma-next/mongo-orm

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-orm@343

@prisma-next/mongo-pipeline-builder

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-pipeline-builder@343

@prisma-next/mongo-lowering

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-lowering@343

@prisma-next/mongo-wire

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/mongo-wire@343

@prisma-next/sql-contract

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-contract@343

@prisma-next/sql-errors

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-errors@343

@prisma-next/sql-operations

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-operations@343

@prisma-next/sql-schema-ir

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-schema-ir@343

@prisma-next/sql-contract-psl

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-contract-psl@343

@prisma-next/sql-contract-ts

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-contract-ts@343

@prisma-next/sql-contract-emitter

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-contract-emitter@343

@prisma-next/sql-lane-query-builder

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-lane-query-builder@343

@prisma-next/sql-relational-core

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-relational-core@343

@prisma-next/sql-builder

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/sql-builder@343

@prisma-next/target-postgres

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/target-postgres@343

@prisma-next/target-sqlite

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/target-sqlite@343

@prisma-next/adapter-postgres

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/adapter-postgres@343

@prisma-next/adapter-sqlite

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/adapter-sqlite@343

@prisma-next/driver-postgres

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/driver-postgres@343

@prisma-next/driver-sqlite

npm i https://pkg.pr.new/prisma/prisma-next/@prisma-next/driver-sqlite@343

commit: cead875

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@examples/retail-store/turbo.json`:
- Around line 3-6: The package inherits root build.inputs via the "build" task
causing stale Next.js caches; update the "build" task to explicitly override
build.inputs (not just outputs) so it includes Next-specific globs like
"app/**", "pages/**" (if used), "middleware.ts", "next.config.js", and other
important files alongside existing src/package.json/tsconfig globs; locate the
"build" task object (the "build" key in the tasks map) and add a build.inputs
array that enumerates the required patterns to ensure proper invalidation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: f0d8ae67-cfd7-4612-a73f-e85d48466bd9

📥 Commits

Reviewing files that changed from the base of the PR and between 9a32955 and 191c519.

📒 Files selected for processing (1)
  • examples/retail-store/turbo.json

Comment thread examples/retail-store/turbo.json
The root turbo.json declares dist/** as the expected build output,
but retail-store is a Next.js app that outputs to .next/. This caused
Turborepo to emit a warning about missing output files.

Add a package-level turbo.json that overrides the build task outputs
to .next/** (excluding .next/cache/**).
@aqrln aqrln force-pushed the fix/retail-store-turbo-outputs branch from 191c519 to cead875 Compare April 15, 2026 19:17
@aqrln aqrln merged commit 69226a5 into main Apr 15, 2026
16 checks passed
@aqrln aqrln deleted the fix/retail-store-turbo-outputs branch April 15, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant