Skip to content

Conversation

@joelhooks
Copy link
Collaborator

@joelhooks joelhooks commented Aug 25, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@coursebuilder/[email protected]

Minor Changes

  • #578
    f11c60f
    Thanks @zacjones93! - Add fixed amount
    discount functionality for merchant coupons with proper dollar-based pricing
    throughout the pricing system. This includes converting fixed discount amounts
    from cents to dollars (breaking change), displaying fixed discount amounts in
    pricing components, and adding shared pricing UI components for discount
    visualization.

Patch Changes

@coursebuilder/[email protected]

Minor Changes

  • #578
    f11c60f
    Thanks @zacjones93! - Add fixed amount
    discount functionality for merchant coupons with proper dollar-based pricing
    throughout the pricing system. This includes converting fixed discount amounts
    from cents to dollars (breaking change), displaying fixed discount amounts in
    pricing components, and adding shared pricing UI components for discount
    visualization.

Patch Changes

[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

  • #579
    5d94d4e
    Thanks @vojtaholik! - upgrade next to beta,
    update related deps (react, react-dom, eslint, etc)

@coursebuilder/[email protected]

Patch Changes

  • #579
    5d94d4e
    Thanks @vojtaholik! - upgrade next to beta,
    update related deps (react, react-dom, eslint, etc)

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

  • #579
    5d94d4e
    Thanks @vojtaholik! - upgrade next to beta,
    update related deps (react, react-dom, eslint, etc)

@coursebuilder/[email protected]

Patch Changes

@coursebuilder/[email protected]

Patch Changes

Summary by CodeRabbit

  • New Features

    • Added fixed-amount discount functionality for merchant coupons with updated pricing throughout the system.
    • Introduced survey package with new survey capabilities.
    • Enhanced workshop creation with new components and dialogs.
  • Bug Fixes

    • Improved progress tracking to properly account for sections.
    • Fixed enrollment flow with new open/close enrollment options.
  • Chores

    • Updated dependencies across the coursebuilder ecosystem.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 25, 2025

Walkthrough

Updated many package manifests and changelogs, bumped several package versions, and removed or edited numerous .changeset/*.md files. No source code or runtime control-flow changes were introduced.

Changes

Cohort / File(s) Summary
Apps — manifest bumps
apps/astro-party/package.json, apps/course-builder-web/package.json, apps/epic-react/package.json, apps/go-local-first/package.json
Bumped internal @coursebuilder dependency versions (adapter-drizzle, core, ui, email-templates, commerce-next, utils-*) — manifest-only changes.
Packages — version & dependency bumps
packages/ui/package.json, packages/commerce-next/package.json, packages/adapter-drizzle/package.json, packages/astro/package.json, packages/core/package.json, packages/next/package.json, packages/nodash/package.json, packages/utils-resource/package.json, packages/utils-search/package.json, packages/mdx-mermaid/package.json, packages/utils-email/package.json, packages/email-templates/package.json, cli/package.json, packages/config/eslint-config/package.json
Bumped package versions and updated internal dependency ranges (e.g., core → 1.1.0, ui → 2.0.8, adapter-drizzle → 1.0.5, nodash → 0.0.2, astro → 1.0.0, commerce-next → 0.1.0) — manifest-only edits.
Changelogs added/updated
packages/.../CHANGELOG.md (ui, commerce-next, adapter-drizzle, astro, core, next, nodash, utils-resource, utils-search, mdx-mermaid, utils-email, email-templates, cli, packages/config/eslint-config/CHANGELOG.md)
Added or updated changelog entries referencing PRs/commits and dependency updates — documentation-only edits.
Removed/modified changesets
.changeset/*.md (multiple files, e.g. .changeset/odd-lines-care.md, .changeset/salty-birds-sell.md, .changeset/cute-ghosts-learn.md, .changeset/plenty-dodos-search.md, .changeset/tall-ideas-sip.md, ... )
Deleted or edited many .changeset markdown files, removing or altering patch/minor metadata entries — release metadata cleanup only.
New/updated package: survey
packages/survey/package.json, packages/survey/CHANGELOG.md
Bumped @coursebuilder/survey from 1.0.01.0.1 and added changelog entry initializing the survey package.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Files warranting extra attention:
    • Cross-package dependency bumps to @coursebuilder/core and @coursebuilder/ui.
    • packages/commerce-next and packages/adapter-drizzle changelogs for business-logic notes.
    • Bulk deletions in .changeset/ to confirm intended release metadata cleanup.

Possibly related PRs

Suggested reviewers

  • joelhooks
  • vojtaholik
  • nicollguarnizo

Poem

I hop through changelogs, nibble each line,
Versions spring up like carrots in line.
No code was startled, no runtime tested,
Just tidy metadata, neatly suggested. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The title "chore(release): 📦 version packages" is related to the main objective of the PR—preparing coordinated package releases by updating versions and CHANGELOG files. However, the title violates the stated principle to "avoid noise like file lists, emojis, or vague terms." The emoji adds visual clutter without adding meaning. Additionally, the phrase "version packages" is somewhat generic and doesn't clearly communicate the specific scope or significance of the release (e.g., that this includes a minor version bump for commerce-next with breaking changes, or coordinated multi-package updates). Remove the emoji to reduce noise and consider using more specific phrasing, such as "chore(release): update package versions and changelogs" or "chore(release): publish coordinated package releases." The current title technically communicates the action but falls short of the principle to maintain concise, readable phrasing free of unnecessary decoration.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch changeset-release/main

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.

❤️ Share

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

@vercel
Copy link

vercel bot commented Aug 25, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
ai-hero Ready Ready Preview Comment Oct 27, 2025 11:31pm
astro-party Canceled Canceled Oct 27, 2025 11:31pm
code-with-antonio Ready Ready Preview Comment Oct 27, 2025 11:31pm
course-builder-egghead Ready Ready Preview Comment Oct 27, 2025 11:31pm
course-builder-poc Canceled Canceled Oct 27, 2025 11:31pm
craft-of-ui Ready Ready Preview Comment Oct 27, 2025 11:31pm
cursor-pro Error Error Oct 27, 2025 11:31pm
epic-react-builder Ready Ready Preview Comment Oct 27, 2025 11:31pm
epic-web-builder Ready Ready Preview Comment Oct 27, 2025 11:31pm
epicai-pro Ready Ready Preview Comment Oct 27, 2025 11:31pm
go-local-first Ready Ready Preview Comment Oct 27, 2025 11:31pm

Copy link
Contributor

@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: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 14a6804 and 5235dc0.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (8)
  • .changeset/odd-lines-care.md (0 hunks)
  • apps/astro-party/package.json (1 hunks)
  • apps/course-builder-web/package.json (1 hunks)
  • apps/egghead/package.json (1 hunks)
  • apps/epic-react/package.json (1 hunks)
  • apps/go-local-first/package.json (1 hunks)
  • packages/ui/CHANGELOG.md (1 hunks)
  • packages/ui/package.json (1 hunks)
💤 Files with no reviewable changes (1)
  • .changeset/odd-lines-care.md
🧰 Additional context used
📓 Path-based instructions (3)
**/package.json

📄 CodeRabbit inference engine (CLAUDE.md)

**/package.json: When adding dependencies to package.json files, ensure all packages use consistent dependency versions and dependencies are sorted alphabetically.
When updating package.json files to add dependencies, use string replacement to add dependencies and maintain alphabetical order. Do not replace entire sections, just add the new line.

Files:

  • apps/course-builder-web/package.json
  • packages/ui/package.json
  • apps/go-local-first/package.json
  • apps/astro-party/package.json
  • apps/egghead/package.json
  • apps/epic-react/package.json
apps/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo-setup.mdc)

Apps are located in the /apps directory

Files:

  • apps/course-builder-web/package.json
  • apps/go-local-first/package.json
  • apps/astro-party/package.json
  • apps/egghead/package.json
  • apps/epic-react/package.json
packages/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo-setup.mdc)

Packages are located in the /packages directory

Files:

  • packages/ui/CHANGELOG.md
  • packages/ui/package.json
🔇 Additional comments (5)
packages/ui/package.json (1)

3-3: Package version bumped to 2.0.8 — aligned with app consumers.
Nothing else changed; no API surface implications here. Ensure the changelog entry matches this version (it should if generated by Changesets).

apps/egghead/package.json (1)

37-37: LGTM: @coursebuilder/ui upgraded to ^2.0.8 with ordering intact.
Aligned with the workspace and the UI package version.

apps/astro-party/package.json (1)

55-55: LGTM: @coursebuilder/ui bumped to ^2.0.8; grouping/order within @coursebuilder/ remains consistent.*

apps/go-local-first/package.json (1)

58-58: LGTM: Version spec updated to ^2.0.8 and ordering preserved.

packages/ui/CHANGELOG.md (1)

3-11: Changelog entry 2.0.8 reads well and follows existing format.

Links, attribution, and “Patch Changes” section match prior entries. No further edits needed.

@github-actions github-actions bot force-pushed the changeset-release/main branch from 5235dc0 to d21f825 Compare August 25, 2025 13:08
@github-actions github-actions bot force-pushed the changeset-release/main branch from 86e6fd1 to 52b4364 Compare August 25, 2025 13:43
Copy link
Contributor

@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

🧹 Nitpick comments (1)
apps/egghead/package.json (1)

37-37: Consider switching to the workspace protocol for internal packages.

To guarantee local linking during development and auto-follow workspace version bumps, consider using the workspace range instead of a plain caret. This also keeps internal deps consistent with other @coursebuilder/* entries that already use workspace:^.

-    "@coursebuilder/ui": "^2.0.8",
+    "@coursebuilder/ui": "workspace:^",
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 86e6fd1 and 341a881.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (8)
  • .changeset/odd-lines-care.md (0 hunks)
  • apps/astro-party/package.json (1 hunks)
  • apps/course-builder-web/package.json (1 hunks)
  • apps/egghead/package.json (1 hunks)
  • apps/epic-react/package.json (1 hunks)
  • apps/go-local-first/package.json (1 hunks)
  • packages/ui/CHANGELOG.md (1 hunks)
  • packages/ui/package.json (1 hunks)
💤 Files with no reviewable changes (1)
  • .changeset/odd-lines-care.md
✅ Files skipped from review due to trivial changes (2)
  • packages/ui/CHANGELOG.md
  • packages/ui/package.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • apps/astro-party/package.json
  • apps/course-builder-web/package.json
  • apps/go-local-first/package.json
  • apps/epic-react/package.json
🧰 Additional context used
📓 Path-based instructions (2)
**/package.json

📄 CodeRabbit inference engine (CLAUDE.md)

**/package.json: When adding dependencies to package.json files, ensure all packages use consistent dependency versions and dependencies are sorted alphabetically.
When updating package.json files to add dependencies, use string replacement to add dependencies and maintain alphabetical order. Do not replace entire sections, just add the new line.

Files:

  • apps/egghead/package.json
apps/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo-setup.mdc)

Apps are located in the /apps directory

Files:

  • apps/egghead/package.json
🔇 Additional comments (2)
apps/egghead/package.json (2)

37-37: Version bump looks good and matches the release intent.

Upgrading @coursebuilder/ui to ^2.0.8 aligns with the release PR. No ordering issues in dependencies; the entry remains alphabetically positioned within the @coursebuilder/* block.


37-37: No Accordion usage detected – safe to upgrade

I ran searches across apps/egghead and found numerous imports from @coursebuilder/ui but zero occurrences of an Accordion import or usage. Since there are no direct references to the Accordion component in this codebase, the internal upgrade poses no breaking risk here.

• Verified direct imports: all usages are of Button, Input, ScrollArea, Card, etc., but not Accordion
• Confirmed no “Accordion” symbol anywhere outside node_modules

No further action required.

"@coursebuilder/next": "workspace:^",
"@coursebuilder/nodash": "workspace:^",
"@coursebuilder/ui": "^2.0.7",
"@coursebuilder/ui": "^2.0.8",
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify monorepo consistency for @coursebuilder/ui and catch any stragglers.

Ensure all apps/packages that depend on @coursebuilder/ui were bumped to ^2.0.8 (or use the workspace protocol) to avoid mixed versions at publish time.

Run this script to list and validate versions across the repo:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Scanning for @coursebuilder/ui versions in package.json files..."
rg -nP '"@coursebuilder/ui"\s*:\s*"(.*?)"' \
  -g 'apps/**/package.json' -g 'packages/**/package.json' -g '!**/node_modules/**' -C0 || true

echo
echo "Unique versions found:"
VERSIONS=$(rg -nP '"@coursebuilder/ui"\s*:\s*"(.*?)"' \
  -g 'apps/**/package.json' -g 'packages/**/package.json' -g '!**/node_modules/**' \
  | sed -nE 's/.*"@coursebuilder\/ui"\s*:\s*"([^"]+)".*/\1/p' | sort -u)
echo "$VERSIONS"

echo
echo "Checking for nonconforming versions (expected: ^2.0.8 or workspace:^)..."
BAD=$(echo "$VERSIONS" | rg -v '^\^?2\.0\.8$|^workspace:\^$' || true)
if [ -n "$BAD" ]; then
  echo "Found nonconforming versions:"
  echo "$BAD"
  exit 1
fi

echo "All good."

Length of output: 1827


Ensure consistent @coursebuilder/ui versions across the monorepo

The scan uncovered two types of mismatches that must be fixed before publishing:

• packages/commerce-next/package.json (line 80)

-  "@coursebuilder/ui": "^2.0.7",
+  "@coursebuilder/ui": "^2.0.8",

• Five apps are using the wildcard Workspace protocol instead of the caret‐pinned Workspace protocol; update each of the following from

-  "@coursebuilder/ui": "workspace:*",
+  "@coursebuilder/ui": "workspace:^",

– apps/epic-web/package.json (line 63)
– apps/cursor-pro/package.json (line 63)
– apps/epicdev-ai/package.json (line 63)
– apps/ai-hero/package.json (line 63)
– apps/craft-of-ui/package.json (line 63)

These edits ensure every consumer is either pinned to ^2.0.8 or correctly using the workspace:^ protocol—preventing mixed versions at publish time.

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In apps/egghead/package.json around line 37 (and also address the other reported
locations), the @coursebuilder/ui version is inconsistent across the repo;
update packages/commerce-next/package.json (line 80) to use the pinned version
"^2.0.8" and for the five apps listed (apps/epic-web/package.json line 63,
apps/cursor-pro/package.json line 63, apps/epicdev-ai/package.json line 63,
apps/ai-hero/package.json line 63, apps/craft-of-ui/package.json line 63)
replace the wildcard workspace protocol with the caret-pinned workspace protocol
(use "workspace:^2.0.8") so every consumer is either pinned to ^2.0.8 or uses
workspace:^2.0.8 consistently.

Copy link
Contributor

@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

♻️ Duplicate comments (11)
packages/mdx-mermaid/CHANGELOG.md (1)

7-10: Duplicate: Apply the previously suggested style/grammar fixes to the new changelog entry.

The new 0.1.2 entry contains the same style/grammar issues that were flagged in the past review for the 0.1.1 entry. Apply the same corrections:

  • Capitalize product name "Next.js"
  • Replace "deps" with "dependencies" for clarity
  • Add period after "etc." per American English style
  • Wrap package names in backticks for code formatting

Apply this diff:

-  Thanks [@vojtaholik](https://github.com/vojtaholik)! - upgrade next to beta,
-  update related deps (react, react-dom, eslint, etc)
+  Thanks [@vojtaholik](https://github.com/vojtaholik)! - upgrade Next.js to beta,
+  update related dependencies (`react`, `react-dom`, `eslint`, etc.).
packages/email-templates/CHANGELOG.md (1)

9-10: Add period to "etc." (duplicate from previous review).

This punctuation issue was flagged in the previous review but appears to remain unfixed. Add a period after "etc" as per American English grammar rules.

- update related deps (react, react-dom, eslint, etc)
+ update related deps (react, react-dom, eslint, etc.)
packages/utils-email/CHANGELOG.md (1)

10-10: Fix persistent punctuation issue: add period after "etc" abbreviation.

This punctuation issue was previously flagged but remains unresolved. In American English, abbreviations like "etc." require a period before the closing parenthesis.

Apply this diff:

-  update related deps (react, react-dom, eslint, etc)
+  update related deps (react, react-dom, eslint, etc.)
packages/commerce-next/CHANGELOG.md (3)

9-14: Hyphenate compound modifier: "fixed amount discount" → "fixed-amount discount".

The phrase "fixed amount discount" appears as a compound adjective modifying "functionality" and should be hyphenated for correct grammar.

- Thanks [@zacjones93](https://github.com/zacjones93)! - Add fixed amount
+ Thanks [@zacjones93](https://github.com/zacjones93)! - Add fixed-amount
  discount functionality for merchant coupons with proper dollar-based pricing
  throughout the pricing system. This includes converting fixed discount amounts

21-21: Add period after "etc" abbreviation.

American English style requires a period after "etc."

- update related deps (react, react-dom, eslint, etc)
+ update related deps (react, react-dom, eslint, etc.)

36-37: Correct contraction: "dont" → "don't".

The word "dont" is missing an apostrophe. It should be the contraction "don't".

- Thanks [@vojtaholik](https://github.com/vojtaholik)! - dont require
+ Thanks [@vojtaholik](https://github.com/vojtaholik)! - don't require
apps/go-local-first/package.json (1)

56-57: Replace workspace:^ with published versions.

Lines 56-57 should use the published npm versions instead of workspace references to match the release. Per the previous review, update to:

  • "@coursebuilder/next": "^0.0.29"
  • "@coursebuilder/nodash": "^0.0.2"

Apply this diff:

-		"@coursebuilder/next": "workspace:^",
-		"@coursebuilder/nodash": "workspace:^",
+		"@coursebuilder/next": "^0.0.29",
+		"@coursebuilder/nodash": "^0.0.2",
packages/config/eslint-config/CHANGELOG.md (1)

41-42: Capitalize the proper noun "React".

This issue was previously flagged but remains unfixed. Lines 41–42 contain lowercase "react" which should be capitalized as "React".

Apply this diff to fix the capitalization:

- Thanks [@joelhooks](https://github.com/joelhooks)! - Bumped to the canary
- version of react ☠️
+ Thanks [@joelhooks](https://github.com/joelhooks)! - Bumped to the canary
+ version of React ☠️
packages/ui/CHANGELOG.md (1)

7-10: Fix missing period after "etc." abbreviation.

This punctuation issue was flagged in previous reviews but remains present. In American English, "etc." requires a period.

Apply this diff to fix the punctuation:

- [#579](https://github.com/badass-courses/course-builder/pull/579)
  [`5d94d4e`](https://github.com/badass-courses/course-builder/commit/5d94d4e4b634f612228dfa2c081fc96f201d85cc)
  Thanks [@vojtaholik](https://github.com/vojtaholik)! - upgrade next to beta,
-  update related deps (react, react-dom, eslint, etc)
+  update related deps (react, react-dom, eslint, etc.)
packages/core/CHANGELOG.md (1)

9-9: Polish grammar and styling: hyphenation, abbreviation period, apostrophe, and capitalization.

These issues were flagged in previous reviews but appear to still need correction:

  • Line 9: "fixed amount" → "fixed-amount" (compound adjective requires hyphen)
  • Line 26: "etc)" → "etc.)" (American English requires period after abbreviation)
  • Line 38: "dont" → "don't" (correct apostrophe in contraction)
  • Line 43: "inngest" → "Inngest" (proper noun capitalization)

Apply this diff to fix all four issues:

- Thanks [@zacjones93](https://github.com/zacjones93)! - Add fixed amount
+ Thanks [@zacjones93](https://github.com/zacjones93)! - Add fixed-amount
  discount functionality for merchant coupons with proper dollar-based pricing
  
- Thanks [@vojtaholik](https://github.com/vojtaholik)! - upgrade next to beta,
-  update related deps (react, react-dom, eslint, etc)
+ Thanks [@vojtaholik](https://github.com/vojtaholik)! - upgrade next to beta,
+  update related deps (react, react-dom, eslint, etc.)

- Thanks [@vojtaholik](https://github.com/vojtaholik)! - dont require
+ Thanks [@vojtaholik](https://github.com/vojtaholik)! - don't require
  verify-login redirect

- Thanks [@vojtaholik](https://github.com/vojtaholik)! - limit retries on
-  remove-completed-video inngest function
+ Thanks [@vojtaholik](https://github.com/vojtaholik)! - limit retries on
+  remove-completed-video Inngest function

Also applies to: 26-26, 38-38, 43-43

packages/next/CHANGELOG.md (1)

10-10: Add period after "etc." (duplicate of previous review comment).

The sentence ends with "(react, react-dom, eslint, etc)" but should be "(react, react-dom, eslint, etc.)".

Apply this diff:

-  update related deps (react, react-dom, eslint, etc)
+  update related deps (react, react-dom, eslint, etc.)
🧹 Nitpick comments (1)
apps/go-local-first/package.json (1)

52-68: Inconsistent version pinning across @coursebuilder dependencies.

Some dependencies use caret (^) while others are pinned without it. Consider standardizing the version prefix strategy across all @coursebuilder packages, or document if this inconsistency is intentional.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 15e1b28 and c2128c7.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (53)
  • .changeset/clear-regions-search.md (0 hunks)
  • .changeset/common-boats-fold.md (0 hunks)
  • .changeset/cruel-symbols-grin.md (0 hunks)
  • .changeset/cute-ghosts-learn.md (0 hunks)
  • .changeset/five-nights-bathe.md (0 hunks)
  • .changeset/fixed-discount-feature.md (0 hunks)
  • .changeset/great-doors-attack.md (0 hunks)
  • .changeset/lazy-banks-film.md (0 hunks)
  • .changeset/odd-lines-care.md (0 hunks)
  • .changeset/plenty-dodos-search.md (0 hunks)
  • .changeset/quiet-bags-raise.md (0 hunks)
  • .changeset/salty-birds-sell.md (0 hunks)
  • .changeset/slow-eels-behave.md (0 hunks)
  • .changeset/smart-candles-vanish.md (0 hunks)
  • .changeset/stale-forks-look.md (0 hunks)
  • .changeset/stupid-beans-move.md (0 hunks)
  • .changeset/tall-ideas-sip.md (0 hunks)
  • .changeset/tame-rings-show.md (0 hunks)
  • .changeset/tasty-keys-post.md (0 hunks)
  • apps/astro-party/package.json (1 hunks)
  • apps/course-builder-web/package.json (1 hunks)
  • apps/epic-react/package.json (1 hunks)
  • apps/go-local-first/package.json (1 hunks)
  • cli/CHANGELOG.md (1 hunks)
  • cli/package.json (1 hunks)
  • packages/adapter-drizzle/CHANGELOG.md (1 hunks)
  • packages/adapter-drizzle/package.json (2 hunks)
  • packages/astro/CHANGELOG.md (1 hunks)
  • packages/astro/package.json (1 hunks)
  • packages/commerce-next/CHANGELOG.md (1 hunks)
  • packages/commerce-next/package.json (2 hunks)
  • packages/config/eslint-config/CHANGELOG.md (2 hunks)
  • packages/config/eslint-config/package.json (1 hunks)
  • packages/core/CHANGELOG.md (1 hunks)
  • packages/core/package.json (2 hunks)
  • packages/email-templates/CHANGELOG.md (1 hunks)
  • packages/email-templates/package.json (1 hunks)
  • packages/mdx-mermaid/CHANGELOG.md (1 hunks)
  • packages/mdx-mermaid/package.json (1 hunks)
  • packages/next/CHANGELOG.md (1 hunks)
  • packages/next/package.json (2 hunks)
  • packages/nodash/CHANGELOG.md (1 hunks)
  • packages/nodash/package.json (1 hunks)
  • packages/survey/CHANGELOG.md (1 hunks)
  • packages/survey/package.json (1 hunks)
  • packages/ui/CHANGELOG.md (1 hunks)
  • packages/ui/package.json (2 hunks)
  • packages/utils-email/CHANGELOG.md (1 hunks)
  • packages/utils-email/package.json (1 hunks)
  • packages/utils-resource/CHANGELOG.md (1 hunks)
  • packages/utils-resource/package.json (1 hunks)
  • packages/utils-search/CHANGELOG.md (1 hunks)
  • packages/utils-search/package.json (1 hunks)
💤 Files with no reviewable changes (19)
  • .changeset/stale-forks-look.md
  • .changeset/common-boats-fold.md
  • .changeset/great-doors-attack.md
  • .changeset/quiet-bags-raise.md
  • .changeset/smart-candles-vanish.md
  • .changeset/plenty-dodos-search.md
  • .changeset/salty-birds-sell.md
  • .changeset/odd-lines-care.md
  • .changeset/tall-ideas-sip.md
  • .changeset/clear-regions-search.md
  • .changeset/cruel-symbols-grin.md
  • .changeset/tasty-keys-post.md
  • .changeset/lazy-banks-film.md
  • .changeset/stupid-beans-move.md
  • .changeset/slow-eels-behave.md
  • .changeset/cute-ghosts-learn.md
  • .changeset/five-nights-bathe.md
  • .changeset/tame-rings-show.md
  • .changeset/fixed-discount-feature.md
✅ Files skipped from review due to trivial changes (1)
  • packages/email-templates/package.json
🚧 Files skipped from review as they are similar to previous changes (20)
  • cli/CHANGELOG.md
  • packages/survey/package.json
  • packages/mdx-mermaid/package.json
  • packages/survey/CHANGELOG.md
  • cli/package.json
  • packages/astro/package.json
  • packages/core/package.json
  • packages/adapter-drizzle/package.json
  • apps/epic-react/package.json
  • packages/config/eslint-config/package.json
  • packages/utils-email/package.json
  • packages/ui/package.json
  • packages/nodash/package.json
  • packages/utils-resource/package.json
  • packages/utils-search/package.json
  • apps/astro-party/package.json
  • apps/course-builder-web/package.json
  • packages/astro/CHANGELOG.md
  • packages/utils-search/CHANGELOG.md
  • packages/commerce-next/package.json
🧰 Additional context used
📓 Path-based instructions (3)
packages/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo-setup.mdc)

Packages are located in the /packages directory

Files:

  • packages/utils-resource/CHANGELOG.md
  • packages/next/package.json
  • packages/mdx-mermaid/CHANGELOG.md
  • packages/ui/CHANGELOG.md
  • packages/adapter-drizzle/CHANGELOG.md
  • packages/commerce-next/CHANGELOG.md
  • packages/nodash/CHANGELOG.md
  • packages/config/eslint-config/CHANGELOG.md
  • packages/core/CHANGELOG.md
  • packages/email-templates/CHANGELOG.md
  • packages/next/CHANGELOG.md
  • packages/utils-email/CHANGELOG.md
**/package.json

📄 CodeRabbit inference engine (CLAUDE.md)

**/package.json: When adding dependencies to package.json files, ensure all packages use consistent dependency versions and dependencies are sorted alphabetically.
When updating package.json files to add dependencies, use string replacement to add dependencies and maintain alphabetical order. Do not replace entire sections, just add the new line.

Files:

  • packages/next/package.json
  • apps/go-local-first/package.json
apps/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo-setup.mdc)

Apps are located in the /apps directory

Files:

  • apps/go-local-first/package.json
🧠 Learnings (1)
📚 Learning: 2025-10-14T22:05:16.978Z
Learnt from: zacjones93
PR: badass-courses/course-builder#578
File: apps/astro-party/src/trpc/api/routers/pricing.ts:140-141
Timestamp: 2025-10-14T22:05:16.978Z
Learning: The fixed discount feature (amountDiscount support) was only implemented in the ai-hero app. Other apps in the monorepo (astro-party, code-with-antonio, course-builder-web, epicdev-ai, craft-of-ui, cursor-pro, epic-web, go-local-first) still only support percentage discounts in their application code, even though the core pricing infrastructure supports both types.

Applied to files:

  • packages/core/CHANGELOG.md
🪛 LanguageTool
packages/mdx-mermaid/CHANGELOG.md

[style] ~10-~10: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) ## 0.1.1 ### Patch Changes - [#534]...

(ETC_PERIOD)

packages/ui/CHANGELOG.md

[style] ~10-~10: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) - [#588](https://github.com/badass-co...

(ETC_PERIOD)

packages/commerce-next/CHANGELOG.md

[grammar] ~9-~9: Use a hyphen to join words.
Context: ...ps://github.com/zacjones93)! - Add fixed amount discount functionality for merc...

(QB_NEW_EN_HYPHEN)


[style] ~21-~21: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) - [#588](https://github.com/badass-co...

(ETC_PERIOD)

packages/config/eslint-config/CHANGELOG.md

[style] ~41-~41: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1623 characters long)
Context: ...joelhooks](https://github.com/joelhooks)! - Bumped to the canary version of rea...

(EN_EXCESSIVE_EXCLAMATION)


[uncategorized] ~42-~42: “React” is a proper noun and needs to be capitalized.
Context: ...s)! - Bumped to the canary version of react ☠️ - Updated dependencies [[`ecd40cb...

(A_GOOGLE)

packages/core/CHANGELOG.md

[grammar] ~9-~9: Use a hyphen to join words.
Context: ...ps://github.com/zacjones93)! - Add fixed amount discount functionality for merc...

(QB_NEW_EN_HYPHEN)


[style] ~26-~26: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) - [1b92a3a](https://github.com/bada...

(ETC_PERIOD)


[grammar] ~43-~43: Ensure spelling is correct
Context: ...mit retries on remove-completed-video inngest function - [#568](https://github.com/b...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~43-~43: Ensure spelling is correct
Context: ... remove-completed-video inngest function - [#568](https://github.com/badass-courses/...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

packages/email-templates/CHANGELOG.md

[style] ~10-~10: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) ## 1.0.6 ### Patch Changes - [#534]...

(ETC_PERIOD)

packages/next/CHANGELOG.md

[style] ~10-~10: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) - [#589](https://github.com/badass-co...

(ETC_PERIOD)

packages/utils-email/CHANGELOG.md

[style] ~10-~10: In American English, abbreviations like “etc.” require a period.
Context: ...related deps (react, react-dom, eslint, etc) ## 1.0.1 ### Patch Changes - [#534]...

(ETC_PERIOD)

🔇 Additional comments (4)
packages/nodash/CHANGELOG.md (1)

3-8: Changelog entry properly formatted.

The new changelog entry for version 0.0.2 follows Changesets conventions correctly, with proper version header, section labeling, commit link, contributor attribution, and concise change description. The patch version bump aligns with the addition of the uniqBy utility function.

packages/config/eslint-config/CHANGELOG.md (1)

3-10: ✓ New 0.1.1 release entry is properly formatted.

The new patch release section includes correct PR reference, commit hash, author attribution, and a clear change description.

packages/next/package.json (1)

3-3: Version and dependency updates look good.

The version bump to 0.0.29 and the @coursebuilder/core dependency update to 1.1.0 are consistent with the CHANGELOG.md and PR objectives.

Also applies to: 37-37

packages/adapter-drizzle/CHANGELOG.md (1)

3-36: Changelog entries are well-documented and properly formatted.

The 1.0.5 release section clearly documents all patch changes with appropriate PR references, commit hashes, and author acknowledgments. The updated dependencies section correctly reflects the [email protected] update.

Comment on lines +3 to +16
## 1.0.4

### Patch Changes

- Updated dependencies
[[`fff302b`](https://github.com/badass-courses/course-builder/commit/fff302b9a483f8d9b6209bf5ec3fa57830c3e8e9),
[`5d94d4e`](https://github.com/badass-courses/course-builder/commit/5d94d4e4b634f612228dfa2c081fc96f201d85cc),
[`1b92a3a`](https://github.com/badass-courses/course-builder/commit/1b92a3ac602291f219370fb264d8e0099f54963c),
[`f11c60f`](https://github.com/badass-courses/course-builder/commit/f11c60f9b08d7955ea840af15cc0d14d7c44f633),
[`4134b05`](https://github.com/badass-courses/course-builder/commit/4134b05115972b2d6edae4ae4ae8a7a2b10557f3),
[`79764de`](https://github.com/badass-courses/course-builder/commit/79764deb0346fca813e01d2e2409712990990d8e),
[`22fe75f`](https://github.com/badass-courses/course-builder/commit/22fe75f78d801e1c053cd6b938a6f376f8eaa147),
[`a2a97ca`](https://github.com/badass-courses/course-builder/commit/a2a97ca5a411be88db9468e01256fd59096155f9)]:
- @coursebuilder/core@1.1.0
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

CHANGELOG entry properly formatted; verify package.json consistency.

The 1.0.4 entry follows standard Changesets format with eight commit references and correct @coursebuilder/[email protected] dependency declaration, aligning with PR objectives. However, previous review comments flagged a mismatch where package.json was using workspace:^ instead of a concrete semver range for @coursebuilder/core.

Confirm that packages/utils-resource/package.json has been updated to:

  • Version: 1.0.4
  • @coursebuilder/core dependency: ^1.1.0 (not workspace:^)

🏁 Script executed:

#!/bin/bash
# Description: Verify package.json version and @coursebuilder/core dependency match CHANGELOG entry
# Expected: package.json version is 1.0.4 and @coursebuilder/core is ^1.1.0 (not workspace:^)

set -euo pipefail

PKG_JSON="packages/utils-resource/package.json"

if [ ! -f "$PKG_JSON" ]; then
  echo "$PKG_JSON not found"
  exit 1
fi

echo "=== Version Check ==="
pkg_version=$(jq -r '.version' "$PKG_JSON")
echo "package.json version: $pkg_version"
[ "$pkg_version" = "1.0.4" ] || { echo "❌ Version mismatch: expected 1.0.4, got $pkg_version"; exit 1; }

echo ""
echo "=== @coursebuilder/core Dependency Check ==="
core_dep=$(jq -r '.dependencies["@coursebuilder/core"] // "NOT_FOUND"' "$PKG_JSON")
echo "@coursebuilder/core dependency: $core_dep"

if [ "$core_dep" = "workspace:^" ]; then
  echo "❌ ERROR: Still using workspace:^ instead of concrete semver (should be ^1.1.0)"
  exit 1
elif [ "$core_dep" = "NOT_FOUND" ]; then
  echo "⚠ @coursebuilder/core not found in dependencies; checking devDependencies..."
  dev_dep=$(jq -r '.devDependencies["@coursebuilder/core"] // "NOT_FOUND"' "$PKG_JSON")
  [ "$dev_dep" != "NOT_FOUND" ] && core_dep="$dev_dep" || { echo "❌ Not found in any dependency field"; exit 1; }
fi

if [[ "$core_dep" =~ ^(\^|~)?1\.1\. ]]; then
  echo "✓ @coursebuilder/core correctly specifies 1.1.x range"
else
  echo "⚠ @coursebuilder/core version ($core_dep) may not match expected ^1.1.0 range"
  exit 1
fi

echo ""
echo "✓ All checks passed: package.json is consistent with CHANGELOG"

Length of output: 218


Update package.json: @coursebuilder/core dependency must be concrete semver, not workspace protocol.

The CHANGELOG entry at lines 3–16 declares @coursebuilder/[email protected], but packages/utils-resource/package.json still specifies workspace:^ for this dependency. This creates an inconsistency between the declared dependency version in the changelog and the actual package.json configuration.

Update packages/utils-resource/package.json to set @coursebuilder/core to ^1.1.0 instead of workspace:^.

🤖 Prompt for AI Agents
In packages/utils-resource/CHANGELOG.md around lines 3–16 there's a changelog
claiming @coursebuilder/[email protected] but packages/utils-resource/package.json
still uses the workspace: protocol for that dependency; open
packages/utils-resource/package.json and replace the dependency entry for
@coursebuilder/core from "workspace:^" (or "workspace:^1.1.0") to a concrete
semver string "^1.1.0", save the file, and run your usual lockfile
update/install (npm/yarn/pnpm) to ensure the lockfile reflects the concrete
version.

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