Changed public app dev defaults#29105
Conversation
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
WalkthroughThis PR adds root Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run @tryghost/admin-x-settings:test:acceptance |
✅ Succeeded | 10m 5s | View ↗ |
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | <1s | View ↗ |
nx run-many -t test:unit -p @tryghost/admin-x-d... |
✅ Succeeded | 8m 8s | View ↗ |
nx run ghost:test:ci:integration |
✅ Succeeded | 2m 46s | View ↗ |
nx run ghost:test:integration |
✅ Succeeded | 2m 46s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 4m 13s | View ↗ |
nx run ghost:test:legacy |
✅ Succeeded | 2m 57s | View ↗ |
nx run ghost:test:e2e |
✅ Succeeded | 2m 26s | View ↗ |
Additional runs (7) |
✅ Succeeded | ... | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-07-04 21:01:41 UTC
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docker/ghost-dev/README.md (1)
35-36: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winSame missing Stripe-key note as AGENTS.md.
dev:services/dev:fullrequireSTRIPE_SECRET_KEYto be set (viawith-stripe.sh) or the command exits immediately; consider documenting this alongside the other prerequisites.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docker/ghost-dev/README.md` around lines 35 - 36, The dev service commands in the README are missing the Stripe prerequisite note. Update the documentation near the dev:services and dev:full entries to mention that STRIPE_SECRET_KEY must be set via with-stripe.sh or those commands will exit immediately, and keep the note alongside the other setup requirements for easy discovery.AGENTS.md (1)
132-137: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winDocument the
STRIPE_SECRET_KEYrequirement fordev:services/dev:full.These commands invoke
with-stripe.sh, which hard-fails without a Stripe key configured (see package.json comment). Worth a one-line note here so users aren't surprised by the failure.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@AGENTS.md` around lines 132 - 137, The optional services command list in AGENTS.md is missing the Stripe prerequisite for the `dev:services` and `dev:full` flows, which call `with-stripe.sh` and fail if no secret is set. Update the documentation near the `pnpm dev:services` / `pnpm dev:full` entries to note that `STRIPE_SECRET_KEY` must be configured beforehand, using the existing optional-services section as the place to add the one-line warning.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Around line 39-41: The dev:services and dev:full package scripts still invoke
the Stripe wrapper, so they fail early unless STRIPE_SECRET_KEY is set. Update
these scripts to either remove ./docker/stripe/with-stripe.sh so they can start
the analytics/storage bundle independently, or explicitly document the Stripe
secret requirement in the script naming/help text; keep the change localized to
the package.json script entries for dev:services and dev:full.
---
Nitpick comments:
In `@AGENTS.md`:
- Around line 132-137: The optional services command list in AGENTS.md is
missing the Stripe prerequisite for the `dev:services` and `dev:full` flows,
which call `with-stripe.sh` and fail if no secret is set. Update the
documentation near the `pnpm dev:services` / `pnpm dev:full` entries to note
that `STRIPE_SECRET_KEY` must be configured beforehand, using the existing
optional-services section as the place to add the one-line warning.
In `@docker/ghost-dev/README.md`:
- Around line 35-36: The dev service commands in the README are missing the
Stripe prerequisite note. Update the documentation near the dev:services and
dev:full entries to mention that STRIPE_SECRET_KEY must be set via
with-stripe.sh or those commands will exit immediately, and keep the note
alongside the other setup requirements for easy discovery.
🪄 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.yaml
Review profile: CHILL
Plan: Pro
Run ID: ffcb2f95-7295-4c5c-b186-81e115b5ab07
📒 Files selected for processing (3)
AGENTS.mddocker/ghost-dev/README.mdpackage.json
14d2e3e to
2b1e877
Compare
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
2b1e877 to
84a1525
Compare
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
no ref Default local dev should stay lightweight while keeping orchestration in Nx. This adds an explicit public-app dev target for the expensive UMD watchers and keeps optional service startup on explicit scripts.
84a1525 to
7f788ce
Compare
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
package.json (1)
39-40: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
dev:fullstill hard-requiresSTRIPE_SECRET_KEY— same issue flagged previously.
dev:fullunconditionally wraps the command with./docker/stripe/with-stripe.sh, which exits with an error ifSTRIPE_SECRET_KEYisn't set. Per the upstream contract indocker/stripe/with-stripe.sh, the scriptvalidates STRIPE_SECRET_KEY, sets COMPOSE_PROFILES to include "stripe", and then execs the command. This meansdev:fullcan't start analytics/storage + public watchers at all without a Stripe key configured, even though the PR objective describesdev:fullas enabling "the optional services plus the public UMD app watchers" (analytics/storage should be independently useful without Stripe).A prior review flagged this exact concern on these lines and it was marked "Addressed," but the current code still shows the same unconditional wrapping — the fix does not appear to have landed, or was reverted.
♻️ Possible fix: make Stripe optional in dev:full
- "dev:full": "DEV_COMPOSE_FILES='-f compose.dev.analytics.yaml -f compose.dev.storage.yaml' ./docker/stripe/with-stripe.sh pnpm nx run ghost-monorepo:docker:dev:public", + "dev:full": "DEV_COMPOSE_FILES='-f compose.dev.analytics.yaml -f compose.dev.storage.yaml' pnpm nx run ghost-monorepo:docker:dev:public",(If Stripe is intended to be mandatory for
dev:full, document that requirement clearly inAGENTS.md/README instead.)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@package.json` around lines 39 - 40, The dev:full script in package.json still hard-requires STRIPE_SECRET_KEY because it always runs through with-stripe.sh. Update dev:full so it can start the analytics/storage compose files and public watchers without invoking docker/stripe/with-stripe.sh unless Stripe is truly required, or alternatively make the Stripe dependency explicit in the project docs. Keep the dev:public and dev:full command separation clear, and adjust the dev:full entry to avoid the unconditional Stripe validation performed by with-stripe.sh.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@package.json`:
- Around line 39-40: The dev:full script in package.json still hard-requires
STRIPE_SECRET_KEY because it always runs through with-stripe.sh. Update dev:full
so it can start the analytics/storage compose files and public watchers without
invoking docker/stripe/with-stripe.sh unless Stripe is truly required, or
alternatively make the Stripe dependency explicit in the project docs. Keep the
dev:public and dev:full command separation clear, and adjust the dev:full entry
to avoid the unconditional Stripe validation performed by with-stripe.sh.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 8e899c4c-7a08-4dbf-9318-d7c3b93c17ee
📒 Files selected for processing (3)
AGENTS.mddocker/ghost-dev/README.mdpackage.json
✅ Files skipped from review due to trivial changes (2)
- docker/ghost-dev/README.md
- AGENTS.md
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #29105 +/- ##
=======================================
Coverage 74.27% 74.27%
=======================================
Files 1565 1565
Lines 135716 135716
Branches 16454 16459 +5
=======================================
+ Hits 100800 100807 +7
+ Misses 33917 33910 -7
Partials 999 999
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
no ref pnpm dev's default frontend fan-out was narrowed to Admin + Portal only (#29104/#29105), since most sessions never touch the public UMD apps and those watchers are the heaviest processes in the stack. The devcontainer's start-dev-stack.sh hardcoded the old full project list independently of root pnpm dev, so it needed the same trim to actually get the memory savings inside Codespaces/devcontainers. Public apps remain available via an explicit nx run-many invocation, called out in the script's output.

no ref
pnpm devwas unnecessarily heavy - in most cases, developers do not need to touch our public/frontend apps. It so happens that these apps are quite heavy by virtue of us serving UMD files, rather than a simple vite dev server. In light of that, I've stripped backpnpm devto run only Ghost + Portal.Other apps can be run using a convenient
pnpm dev:publicor by a more traditionalpnpm nx run @tryghost/comments-ui:devorcd apps/comments-ui && pnpm devwhile runningpnpm devat the root.Summary
Updates local dev defaults so
pnpm devstarts the common frontend set only:The less common public UMD app watchers are now explicit opt-in via
pnpm dev:public:Changes
pnpm dev:public, backed byghost-monorepo:docker:dev:publicpnpm dev:fullfor analytics, storage, Stripe, and public UMD app watchersdev:analytics,dev:storage, anddev:stripedocker/stripe/with-stripe.sh, sodev:stripe,dev:full, anddev:allrequireSTRIPE_SECRET_KEYdev:analytics,dev:storage,dev:stripe, etc.) working as beforeAGENTS.mdanddocker/ghost-dev/README.mdto describe the new default and opt-in commandsBenchmark Notes
Steady-state host-process measurement:
pnpm dev: 13 host processes, 2.88 GiB summed RSSpnpm dev:public: 23 host processes, 4.25 GiB summed RSSValidation
node -e "JSON.parse(require('fs').readFileSync('package.json','utf8'))"pnpm --silent nx show project ghost-monorepo --jsongit diff --check