Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions examples/aws-ses/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -20,7 +20,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

The migration from tsup to tsdown is incomplete. The packages/link/package.json file was missed and its build scripts still use tsup. Removing the tsup dependency from the root package.json will break the build for the @react-email/link package.

Prompt for AI agents
Address the following comment on examples/aws-ses/package.json at line 23:

<comment>The migration from `tsup` to `tsdown` is incomplete. The `packages/link/package.json` file was missed and its build scripts still use `tsup`. Removing the `tsup` dependency from the root `package.json` will break the build for the `@react-email/link` package.</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 23, 2025

Choose a reason for hiding this comment

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

The build migration from tsup to tsdown is incomplete. The @react-email/link package was not migrated and still references tsup in its build scripts, but the tsup dependency has been removed from the workspace, which will break the build for this package.

Prompt for AI agents
Address the following comment on examples/aws-ses/package.json at line 23:

<comment>The build migration from `tsup` to `tsdown` is incomplete. The `@react-email/link` package was not migrated and still references `tsup` in its build scripts, but the `tsup` dependency has been removed from the workspace, which will break the build for this package.</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 3, 2025

Choose a reason for hiding this comment

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

This package was missed during the migration to tsdown. Its build scripts still use tsup, which will cause build inconsistencies and requires maintaining two different build toolchains within the monorepo.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: The updated examples/aws-ses/package.json already switches both scripts and the devDependency from tsup to tsdown. There is no remaining tsup usage in this file, so the claimed inconsistency does not exist here.

Prompt for AI agents
Address the following comment on examples/aws-ses/package.json at line 23:

<comment>This package was missed during the migration to `tsdown`. Its build scripts still use `tsup`, which will cause build inconsistencies and requires maintaining two different build toolchains within the monorepo.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: The updated examples/aws-ses/package.json already switches both scripts and the devDependency from tsup to tsdown. There is no remaining tsup usage in this file, so the claimed inconsistency does not exist here.</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 4, 2025

Choose a reason for hiding this comment

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

The migration to tsdown is incomplete. The package.json for packages/link still references and uses tsup for its build process. This creates an inconsistent build setup across the monorepo.

Prompt for AI agents
Address the following comment on examples/aws-ses/package.json at line 23:

<comment>The migration to `tsdown` is incomplete. The `package.json` for `packages/link` still references and uses `tsup` for its build process. This creates an inconsistent build setup across the monorepo.</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/mailersend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -20,7 +20,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/nodemailer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -21,7 +21,7 @@
},
"devDependencies": {
"@types/nodemailer": "^6",
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/plunk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -20,7 +20,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/postmark/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -20,7 +20,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

Adding tsdown ^0.15.1 while keeping TypeScript at ^4 creates a peer version mismatch (tsdown resolves against TypeScript 5.x). Align TypeScript to v5 to avoid tooling inconsistencies.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: No authoritative evidence that [email protected] mandates TypeScript 5.x. Docs don’t state a TS peer requirement. The lockfile’s workspace resolution to TS 5.8.3 is typical and doesn’t prove a functional mismatch with the example’s local TypeScript ^4. No demonstrated breakage; impact is speculative. Not high-confidence or high-impact.

Libraries consulted: tsdown, Tsdown

Prompt for AI agents
Address the following comment on examples/postmark/package.json at line 23:

<comment>Adding tsdown ^0.15.1 while keeping TypeScript at ^4 creates a peer version mismatch (tsdown resolves against TypeScript 5.x). Align TypeScript to v5 to avoid tooling inconsistencies.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: No authoritative evidence that [email protected] mandates TypeScript 5.x. Docs don’t state a TS peer requirement. The lockfile’s workspace resolution to TS 5.8.3 is typical and doesn’t prove a functional mismatch with the example’s local TypeScript ^4. No demonstrated breakage; impact is speculative. Not high-confidence or high-impact.

• **Libraries consulted**: tsdown, Tsdown</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/scaleway/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch"
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch"
},
"dependencies": {
"@scaleway/sdk": "^1",
Expand All @@ -19,7 +19,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
"typescript": "^4"
}
}
6 changes: 3 additions & 3 deletions examples/sendgrid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"dist/**"
],
"scripts": {
"build": "tsup-node src/index.tsx --format esm --target node20",
"dev": "tsup-node src/index.tsx --format esm --target node20 --watch",
"build": "tsdown src/index.tsx --format esm --target node20",
"dev": "tsdown src/index.tsx --format esm --target node20 --watch",
"clean": "rm -rf dist"
},
"dependencies": {
Expand All @@ -20,7 +20,7 @@
"react-dom": "^19"
},
"devDependencies": {
"tsup": "^8.0.0",
"tsdown": "^0.15.1",
Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

two-agent-filter: Avoid using a caret range for pre-1.0 packages; minor updates can be breaking. Prefer ~0.15.1 or an exact version to prevent unexpected breakages.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Caret ranges for <1.0.0 lock the minor version and only allow patch updates (e.g., ^0.15.1 resolves to >=0.15.1 <0.16.0). This is equivalent to ~0.15.1 here, so the claim of risky minor updates is incorrect. Pinning exactly is preference and low impact for an example devDependency.

Libraries consulted: npm semver caret pre-1.0 behavior, node-semver caret ranges npm, Npmjs

Prompt for AI agents
Address the following comment on examples/sendgrid/package.json at line 23:

<comment>two-agent-filter: Avoid using a caret range for pre-1.0 packages; minor updates can be breaking. Prefer ~0.15.1 or an exact version to prevent unexpected breakages.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Caret ranges for &lt;1.0.0 lock the minor version and only allow patch updates (e.g., ^0.15.1 resolves to &gt;=0.15.1 &lt;0.16.0). This is equivalent to ~0.15.1 here, so the claim of risky minor updates is incorrect. Pinning exactly is preference and low impact for an example devDependency.

• **Libraries consulted**: npm semver caret pre-1.0 behavior, node-semver caret ranges npm, Npmjs</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

single-agent-filter: Avoid using a caret range for pre-1.0 packages; minor updates can be breaking. Prefer ~0.15.1 or an exact version to prevent unexpected breakages.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Incorrect premise: In npm semver, ^0.15.1 permits only patch updates (>=0.15.1 <0.16.0), effectively identical to ~0.15.1. It does not allow minor updates, so the claimed risk is unfounded. Also, this is a devDependency, making the impact low even if it were a concern.

Libraries consulted: npm semver caret ranges 0.x behavior, node-semver caret range behavior ^0.x npm, Compare-versions, semver specification caret ranges pre-1.0

Prompt for AI agents
Address the following comment on examples/sendgrid/package.json at line 23:

<comment>single-agent-filter: Avoid using a caret range for pre-1.0 packages; minor updates can be breaking. Prefer ~0.15.1 or an exact version to prevent unexpected breakages.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Incorrect premise: In npm semver, ^0.15.1 permits only patch updates (&gt;=0.15.1 &lt;0.16.0), effectively identical to ~0.15.1. It does not allow minor updates, so the claimed risk is unfounded. Also, this is a devDependency, making the impact low even if it were a concern.

• **Libraries consulted**: npm semver caret ranges 0.x behavior, node-semver caret range behavior ^0.x npm, Compare-versions, semver specification caret ranges pre-1.0</comment>

<file context>
@@ -20,7 +20,7 @@
   },
   &quot;devDependencies&quot;: {
-    &quot;tsup&quot;: &quot;^8.0.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;^4&quot;
   }
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"typescript": "^4"
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"happy-dom": "18.0.1",
"pkg-pr-new": "0.0.54",
"tsconfig": "workspace:*",
"tsup": "8.4.0",
"tsdown": "^0.15.1",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Use an exact version to align with the repo’s pinned devDependencies; a caret range can cause non-deterministic upgrades that may break builds.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Use an exact version to align with the repo’s pinned devDependencies; a caret range can cause non-deterministic upgrades that may break builds.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Suggested change
"tsdown": "^0.15.1",
"tsdown": "0.15.1",
Fix with Cubic

Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Use an exact version instead of a caret range to align with pinned devDependencies and avoid unexpected bumps during 'pnpm install --no-frozen-lockfile'.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Use an exact version instead of a caret range to align with pinned devDependencies and avoid unexpected bumps during &#39;pnpm install --no-frozen-lockfile&#39;.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Suggested change
"tsdown": "^0.15.1",
"tsdown": "0.15.1",
Fix with Cubic

Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 23, 2025

Choose a reason for hiding this comment

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

Use an exact version for tsdown to align with repository pinning and ensure reproducible builds.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Caret range for tsdown is used consistently across the monorepo in this PR, and the committed pnpm lockfile plus pinned packageManager ensures reproducible installs. This is stylistic with low impact.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Use an exact version for tsdown to align with repository pinning and ensure reproducible builds.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Caret range for tsdown is used consistently across the monorepo in this PR, and the committed pnpm lockfile plus pinned packageManager ensures reproducible installs. This is stylistic with low impact.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

two-agent-filter: Use a pinned version for tsdown to align with devDependencies conventions and ensure reproducible builds.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Low-impact style/convention issue. The repo uses pnpm with a committed lockfile and a pinned packageManager, ensuring reproducible installs. Caret ranges are already used in pnpm overrides, indicating ranges are acceptable. Not worth reporting.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>two-agent-filter: Use a pinned version for tsdown to align with devDependencies conventions and ensure reproducible builds.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact style/convention issue. The repo uses pnpm with a committed lockfile and a pinned packageManager, ensuring reproducible installs. Caret ranges are already used in pnpm overrides, indicating ranges are acceptable. Not worth reporting.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

single-agent-filter: Use a pinned version for tsdown to align with devDependencies conventions and ensure reproducible builds.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Low impact/style: pnpm-lock.yaml is present and packageManager is pinned, so caret range won’t affect reproducible installs. This deviates from local convention but is not a clear bug or high-impact issue; treat as stylistic consistency preference.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>single-agent-filter: Use a pinned version for tsdown to align with devDependencies conventions and ensure reproducible builds.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low impact/style: pnpm-lock.yaml is present and packageManager is pinned, so caret range won’t affect reproducible installs. This deviates from local convention but is not a clear bug or high-impact issue; treat as stylistic consistency preference.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

Use a pinned version instead of a caret range to stay consistent with other devDependencies and ensure reproducible builds.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Technically accurate that tsdown uses a caret while most devDependencies are pinned, but the impact is low due to a committed pnpm lockfile guaranteeing reproducible installs. Caret ranges are intentionally used elsewhere (pnpm overrides), so this appears to be a stylistic consistency preference rather than a functional/maintainability issue.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Use a pinned version instead of a caret range to stay consistent with other devDependencies and ensure reproducible builds.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Technically accurate that tsdown uses a caret while most devDependencies are pinned, but the impact is low due to a committed pnpm lockfile guaranteeing reproducible installs. Caret ranges are intentionally used elsewhere (pnpm overrides), so this appears to be a stylistic consistency preference rather than a functional/maintainability issue.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

Avoid caret range for a pre-1.0 build tool; pin exact version to prevent unexpected breakages and keep dependency style consistent with other devDependencies.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Avoid caret range for a pre-1.0 build tool; pin exact version to prevent unexpected breakages and keep dependency style consistent with other devDependencies.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Suggested change
"tsdown": "^0.15.1",
"tsdown": "0.15.1",
Fix with Cubic

Copy link
Collaborator

Choose a reason for hiding this comment

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

this violation is true

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

Use an exact version (no caret) for tsdown to match the pinned devDependencies and ensure reproducible builds.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: The line "tsdown": "^0.15.1" is correctly identified as using a caret while most devDependencies are pinned. However, pnpm’s committed lockfile guarantees deterministic installs, so the caret does not reduce reproducibility in practice unless the lockfile is intentionally updated (which this repo already manages). The repo also uses caret ranges in pnpm overrides, indicating mixed versioning is acceptable. This is a minor consistency/style issue without clear functional or security impact.

Prompt for AI agents
Address the following comment on package.json at line 25:

<comment>Use an exact version (no caret) for tsdown to match the pinned devDependencies and ensure reproducible builds.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: The line &quot;tsdown&quot;: &quot;^0.15.1&quot; is correctly identified as using a caret while most devDependencies are pinned. However, pnpm’s committed lockfile guarantees deterministic installs, so the caret does not reduce reproducibility in practice unless the lockfile is intentionally updated (which this repo already manages). The repo also uses caret ranges in pnpm overrides, indicating mixed versioning is acceptable. This is a minor consistency/style issue without clear functional or security impact.</comment>

<file context>
@@ -22,7 +22,7 @@
     &quot;pkg-pr-new&quot;: &quot;0.0.54&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;tsx&quot;: &quot;4.20.3&quot;,
     &quot;turbo&quot;: &quot;2.5.4&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"tsx": "4.20.3",
"turbo": "2.5.4",
"vite": "7.0.4",
Expand Down
4 changes: 2 additions & 2 deletions packages/body/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Only "react" is externalized; include "react/jsx-runtime" (and dev variant) to avoid bundling JSX runtime with the library.

Prompt for AI agents
Address the following comment on packages/body/package.json at line 26:

<comment>Only &quot;react&quot; is externalized; include &quot;react/jsx-runtime&quot; (and dev variant) to avoid bundling JSX runtime with the library.</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Suggested change
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react,react/jsx-runtime,react/jsx-dev-runtime",
Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

The build script uses an incorrect, comma-separated value for the --format flag. For tsdown, each format must be specified with a separate --format flag (e.g., --format esm --format cjs). This likely results in only one format being built, breaking module compatibility for consumers.

Prompt for AI agents
Address the following comment on packages/body/package.json at line 26:

<comment>The build script uses an incorrect, comma-separated value for the `--format` flag. For `tsdown`, each format must be specified with a separate `--format` flag (e.g., `--format esm --format cjs`). This likely results in only one format being built, breaking module compatibility for consumers.</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Suggested change
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build": "tsdown src/index.ts --format esm --format cjs --dts --external react",
Fix with Cubic

"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Only "react" is externalized; include "react/jsx-runtime" (and dev variant) to avoid bundling JSX runtime with the library.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Duplicate of #0 (same issue in the watch script). Covered by the single recommendation; reporting both would be redundant.

Libraries consulted: tsdown external option, Tsdown, React jsx-runtime automatic runtime imports react/jsx-runtime jsx-dev-runtime, React.dev

Prompt for AI agents
Address the following comment on packages/body/package.json at line 27:

<comment>Only &quot;react&quot; is externalized; include &quot;react/jsx-runtime&quot; (and dev variant) to avoid bundling JSX runtime with the library.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Duplicate of #0 (same issue in the watch script). Covered by the single recommendation; reporting both would be redundant.

• **Libraries consulted**: tsdown external option, Tsdown, React jsx-runtime automatic runtime imports react/jsx-runtime jsx-dev-runtime, React.dev</comment>

<file context>
@@ -23,8 +23,8 @@
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Suggested change
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react,react/jsx-runtime,react/jsx-dev-runtime --watch",
Fix with Cubic

"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/button/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Only 'react' is marked external; consider also externalizing 'react/jsx-runtime' to avoid bundling the JSX runtime when using the automatic JSX transform.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Uncertain tsdown handling of subpath externals; no build evidence of bundling issue and impact would be minor. Optional optimization, not a clear bug.

Libraries consulted: React JSX runtime react-jsx automatic runtime, Vite-plugin-react, react/jsx-runtime automatic runtime

Prompt for AI agents
Address the following comment on packages/button/package.json at line 26:

<comment>Only &#39;react&#39; is marked external; consider also externalizing &#39;react/jsx-runtime&#39; to avoid bundling the JSX runtime when using the automatic JSX transform.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Uncertain tsdown handling of subpath externals; no build evidence of bundling issue and impact would be minor. Optional optimization, not a clear bug.

• **Libraries consulted**: React JSX runtime react-jsx automatic runtime, Vite-plugin-react, react/jsx-runtime automatic runtime</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Only 'react' is marked external; consider also externalizing 'react/jsx-runtime' to avoid bundling the JSX runtime when using the automatic JSX transform.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Duplicate of #0 for the watch script; same uncertainty and low impact.

Libraries consulted: React JSX runtime react-jsx automatic runtime, Vite-plugin-react, react/jsx-runtime automatic runtime

Prompt for AI agents
Address the following comment on packages/button/package.json at line 27:

<comment>Only &#39;react&#39; is marked external; consider also externalizing &#39;react/jsx-runtime&#39; to avoid bundling the JSX runtime when using the automatic JSX transform.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Duplicate of #0 for the watch script; same uncertainty and low impact.

• **Libraries consulted**: React JSX runtime react-jsx automatic runtime, Vite-plugin-react, react/jsx-runtime automatic runtime</comment>

<file context>
@@ -23,8 +23,8 @@
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/code-block/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"repository": {
Expand Down
6 changes: 3 additions & 3 deletions packages/code-inline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"engines": {
Expand All @@ -39,7 +39,7 @@
"devDependencies": {
"@react-email/render": "workspace:*",
"tsconfig": "workspace:*",
"tsup": "8.4.0",
"tsdown": "^0.15.1",
"typescript": "5.8.3"
}
}
4 changes: 2 additions & 2 deletions packages/column/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
Copy link

@cubic-staging cubic-staging bot Oct 15, 2025

Choose a reason for hiding this comment

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

Switching the build script from tsup to tsdown raises the minimum Node version for building to >=20.19.0, but this package (and the repo) still advertise Node >=18. Running the new command on Node 18/20.18 aborts because the tsdown native binding cannot load, so pnpm build/build:watch now fail on previously supported environments.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.

Prompt for AI agents
Address the following comment on packages/column/package.json at line 26:

<comment>Switching the build script from `tsup` to `tsdown` raises the minimum Node version for building to &gt;=20.19.0, but this package (and the repo) still advertise Node &gt;=18. Running the new command on Node 18/20.18 aborts because the tsdown native binding cannot load, so `pnpm build`/`build:watch` now fail on previously supported environments.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.*</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Oct 15, 2025

Choose a reason for hiding this comment

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

Switching the build script from tsup to tsdown raises the minimum Node version for building to >=20.19.0, but this package (and the repo) still advertise Node >=18. Running the new command on Node 18/20.18 aborts because the tsdown native binding cannot load, so pnpm build/build:watch now fail on previously supported environments.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.

Prompt for AI agents
Address the following comment on packages/column/package.json at line 26:

<comment>Switching the build script from `tsup` to `tsdown` raises the minimum Node version for building to &gt;=20.19.0, but this package (and the repo) still advertise Node &gt;=18. Running the new command on Node 18/20.18 aborts because the tsdown native binding cannot load, so `pnpm build`/`build:watch` now fail on previously supported environments.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.*</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic Fix with Cubic

"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions packages/container/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/font/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/head/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/heading/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 23, 2025

Choose a reason for hiding this comment

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

Externalize 'react/jsx-runtime' along with 'react' so the JSX runtime isn't bundled; this library uses the automatic React JSX runtime per tsconfig.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Repo-wide pattern intentionally externalizes only react with tsdown; no evidence that bundling react/jsx-runtime causes issues here; impact is minimal and likely a false positive.

Libraries consulted: TypeScript JSX react-jsx runtime import react/jsx-runtime, microsoft typescript jsx react-jsx documentation, Typescript

Prompt for AI agents
Address the following comment on packages/heading/package.json at line 26:

<comment>Externalize &#39;react/jsx-runtime&#39; along with &#39;react&#39; so the JSX runtime isn&#39;t bundled; this library uses the automatic React JSX runtime per tsconfig.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Repo-wide pattern intentionally externalizes only `react` with tsdown; no evidence that bundling `react/jsx-runtime` causes issues here; impact is minimal and likely a false positive.

• **Libraries consulted**: TypeScript JSX react-jsx runtime import react/jsx-runtime, microsoft typescript jsx react-jsx documentation, Typescript</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

two-agent-filter: Build script uses tsdown, which requires Node >=20.19.0 per lockfile, but this package declares engines node >=18. This mismatch can cause build failures under Node 18.

Libraries consulted:

Prompt for AI agents
Address the following comment on packages/heading/package.json at line 26:

<comment>two-agent-filter: Build script uses tsdown, which requires Node &gt;=20.19.0 per lockfile, but this package declares engines node &gt;=18. This mismatch can cause build failures under Node 18. 

• **Libraries consulted**: </comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

single-agent-filter: Build script uses tsdown, which requires Node >=20.19.0 per lockfile, but this package declares engines node >=18. This mismatch can cause build failures under Node 18.

Libraries consulted:

Prompt for AI agents
Address the following comment on packages/heading/package.json at line 26:

<comment>single-agent-filter: Build script uses tsdown, which requires Node &gt;=20.19.0 per lockfile, but this package declares engines node &gt;=18. This mismatch can cause build failures under Node 18. 

• **Libraries consulted**: </comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

two-agent-filter: Watch script uses tsdown, which requires Node >=20.19.0 per lockfile, but this package declares engines node >=18. This mismatch risks failures when running watch on Node 18.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Duplicate of violation 0 (same tsdown vs engines mismatch, just for watch). Keep the primary violation only.

Prompt for AI agents
Address the following comment on packages/heading/package.json at line 27:

<comment>two-agent-filter: Watch script uses tsdown, which requires Node &gt;=20.19.0 per lockfile, but this package declares engines node &gt;=18. This mismatch risks failures when running watch on Node 18.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Duplicate of violation 0 (same tsdown vs engines mismatch, just for watch). Keep the primary violation only.</comment>

<file context>
@@ -23,8 +23,8 @@
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

single-agent-filter: Watch script uses tsdown, which requires Node >=20.19.0 per lockfile, but this package declares engines node >=18. This mismatch risks failures when running watch on Node 18.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Same root cause as #0 (tsdown CLI requiring Node >=20.19.0). Duplicate of the build script issue; reporting both is redundant.

Prompt for AI agents
Address the following comment on packages/heading/package.json at line 27:

<comment>single-agent-filter: Watch script uses tsdown, which requires Node &gt;=20.19.0 per lockfile, but this package declares engines node &gt;=18. This mismatch risks failures when running watch on Node 18.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Same root cause as #0 (tsdown CLI requiring Node &gt;=20.19.0). Duplicate of the build script issue; reporting both is redundant.</comment>

<file context>
@@ -23,8 +23,8 @@
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/hr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/html/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/img/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/markdown/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
}
},
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/preview/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

Build scripts reference the tsdown CLI, but the repository shows no tsdown dependency or usage; running these scripts is likely to fail without adding tsdown to the workspace.

Prompt for AI agents
Address the following comment on packages/preview/package.json at line 26:

<comment>Build scripts reference the tsdown CLI, but the repository shows no tsdown dependency or usage; running these scripts is likely to fail without adding tsdown to the workspace.</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link
Collaborator

Choose a reason for hiding this comment

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

hallucination

Copy link

@cubic-staging cubic-staging bot Oct 15, 2025

Choose a reason for hiding this comment

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

Changing this script to use tsdown raises the build toolchain’s minimum Node version to >=20.19.0 (per the lockfile), while this package still advertises support for Node >=18.0.0. Anyone running the documented Node 18 toolchain can no longer build the package. Please either keep a Node-18-compatible builder or update the declared Node requirement accordingly.

Prompt for AI agents
Address the following comment on packages/preview/package.json at line 26:

<comment>Changing this script to use tsdown raises the build toolchain’s minimum Node version to &gt;=20.19.0 (per the lockfile), while this package still advertises support for Node &gt;=18.0.0. Anyone running the documented Node 18 toolchain can no longer build the package. Please either keep a Node-18-compatible builder or update the declared Node requirement accordingly.</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Oct 15, 2025

Choose a reason for hiding this comment

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

Changing this script to use tsdown raises the build toolchain’s minimum Node version to >=20.19.0 (per the lockfile), while this package still advertises support for Node >=18.0.0. Anyone running the documented Node 18 toolchain can no longer build the package. Please either keep a Node-18-compatible builder or update the declared Node requirement accordingly.

Prompt for AI agents
Address the following comment on packages/preview/package.json at line 26:

<comment>Changing this script to use tsdown raises the build toolchain’s minimum Node version to &gt;=20.19.0 (per the lockfile), while this package still advertises support for Node &gt;=18.0.0. Anyone running the documented Node 18 toolchain can no longer build the package. Please either keep a Node-18-compatible builder or update the declared Node requirement accordingly.</comment>

<file context>
@@ -23,8 +23,8 @@
   &quot;scripts&quot;: {
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
6 changes: 3 additions & 3 deletions packages/react-email/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
},
"type": "module",
"scripts": {
"build": "tsup-node",
"build:watch": "tsup-node --watch src",
"build": "tsdown",
"build:watch": "tsdown --watch src",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Specifying 'src' in the watch script may override the configured entry in tsdown.config.ts, leading to inconsistent build/watch behavior. Prefer relying on the config when watching.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: False positive: tsdown --watch src sets the watch path, not the entry; it does not override tsdown.config.ts entry.

Libraries consulted: tsdown CLI entry overrides config, Tsdown

Prompt for AI agents
Address the following comment on packages/react-email/package.json at line 11:

<comment>Specifying &#39;src&#39; in the watch script may override the configured entry in tsdown.config.ts, leading to inconsistent build/watch behavior. Prefer relying on the config when watching.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: uncertaintyLanguage.*

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: False positive: `tsdown --watch src` sets the watch path, not the entry; it does not override tsdown.config.ts entry.

• **Libraries consulted**: tsdown CLI entry overrides config, Tsdown</comment>

<file context>
@@ -7,8 +7,8 @@
-    &quot;build&quot;: &quot;tsup-node&quot;,
-    &quot;build:watch&quot;: &quot;tsup-node --watch src&quot;,
+    &quot;build&quot;: &quot;tsdown&quot;,
+    &quot;build:watch&quot;: &quot;tsdown --watch src&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

tsdown.config.ts already defines entry: ['./src/index.ts'], so the CLI should just be run in watch mode. Passing src after --watch makes tsdown interpret it as a new entry and the watch build fails. Drop the extra argument so watch mode respects the config.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: tsdown --watch <path> is documented valid usage. The src argument scopes the watcher and doesn’t override the configured entry (./src/index.ts). The watch script is correct; no failure expected. Not a real issue.

Libraries consulted: tsdown CLI watch entry arguments, Tsdown

Prompt for AI agents
Address the following comment on packages/react-email/package.json at line 11:

<comment>`tsdown.config.ts` already defines `entry: [&#39;./src/index.ts&#39;]`, so the CLI should just be run in watch mode. Passing `src` after `--watch` makes tsdown interpret it as a new entry and the watch build fails. Drop the extra argument so watch mode respects the config.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: `tsdown --watch &lt;path&gt;` is documented valid usage. The `src` argument scopes the watcher and doesn’t override the configured entry (`./src/index.ts`). The watch script is correct; no failure expected. Not a real issue.

• **Libraries consulted**: tsdown CLI watch entry arguments, Tsdown</comment>

<file context>
@@ -7,8 +7,8 @@
-    &quot;build&quot;: &quot;tsup-node&quot;,
-    &quot;build:watch&quot;: &quot;tsup-node --watch src&quot;,
+    &quot;build&quot;: &quot;tsdown&quot;,
+    &quot;build:watch&quot;: &quot;tsdown --watch src&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 6/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down Expand Up @@ -53,7 +53,7 @@
"next": "^15.3.2",
"react": "19.0.0",
"react-dom": "19.0.0",
"tsup": "8.4.0",
"tsdown": "^0.15.1",
Copy link
Author

@cubic-dev-local cubic-dev-local bot Oct 3, 2025

Choose a reason for hiding this comment

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

[email protected] requires Node >=20.19.0, but this package still advertises Node >=18.0.0. Developers using the supported Node 18 runtime will hit a build failure as soon as the new dev dependency runs. Please align the Node engine target or avoid upgrading to tsdown until it supports Node 18.

Prompt for AI agents
Address the following comment on packages/react-email/package.json at line 56:

<comment>[email protected] requires Node &gt;=20.19.0, but this package still advertises Node &gt;=18.0.0. Developers using the supported Node 18 runtime will hit a build failure as soon as the new dev dependency runs. Please align the Node engine target or avoid upgrading to tsdown until it supports Node 18.</comment>

<file context>
@@ -53,7 +53,7 @@
     &quot;react&quot;: &quot;19.0.0&quot;,
     &quot;react-dom&quot;: &quot;19.0.0&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   }
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 3, 2025

Choose a reason for hiding this comment

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

tsdown@^0.15.1 requires Node >=20.19.0, but this package still advertises support for Node >=18.0.0. Installing or running the build now fails on Node 18 (and even 20.18), so we need to update the engine requirement or pick a tsdown version that supports the advertised runtime.

Exa queries: "tsdown 0.15.1 node version requirement"

Prompt for AI agents
Address the following comment on packages/react-email/package.json at line 56:

<comment>`tsdown@^0.15.1` requires Node &gt;=20.19.0, but this package still advertises support for Node &gt;=18.0.0. Installing or running the build now fails on Node 18 (and even 20.18), so we need to update the engine requirement or pick a tsdown version that supports the advertised runtime.

• **Exa queries**: &quot;tsdown 0.15.1 node version requirement&quot;</comment>

<file context>
@@ -53,7 +53,7 @@
     &quot;react&quot;: &quot;19.0.0&quot;,
     &quot;react-dom&quot;: &quot;19.0.0&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   }
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 4, 2025

Choose a reason for hiding this comment

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

Adding tsdown@^0.15.1 bumps the build toolchain’s minimum Node requirement to >=20.19, but this package still advertises support for Node >=18. Anyone on Node 18 (which previously worked with tsup) will now get engine warnings and the CLI crashes when the native binding fails to load. Please align the engines field or choose a tsdown version that supports Node 18 so the build/watch scripts keep working for existing users.

Exa queries: "tsdown 0.15.1 node version requirement"

Prompt for AI agents
Address the following comment on packages/react-email/package.json at line 56:

<comment>Adding `tsdown@^0.15.1` bumps the build toolchain’s minimum Node requirement to &gt;=20.19, but this package still advertises support for Node &gt;=18. Anyone on Node 18 (which previously worked with `tsup`) will now get engine warnings and the CLI crashes when the native binding fails to load. Please align the engines field or choose a `tsdown` version that supports Node 18 so the build/watch scripts keep working for existing users.

• **Exa queries**: &quot;tsdown 0.15.1 node version requirement&quot;</comment>

<file context>
@@ -53,7 +53,7 @@
     &quot;react&quot;: &quot;19.0.0&quot;,
     &quot;react-dom&quot;: &quot;19.0.0&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   }
</file context>

[internal] Confidence score: 7/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"typescript": "5.8.3"
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { defineConfig } from 'tsup';
import { defineConfig } from 'tsdown';
Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

The build configuration for the react-email package disables the generation of TypeScript declaration files (.dts). As a core library, it must produce these files to allow for type-safe consumption by other packages and applications.

Prompt for AI agents
Address the following comment on packages/react-email/tsdown.config.ts at line 1:

<comment>The build configuration for the `react-email` package disables the generation of TypeScript declaration files (`.dts`). As a core library, it must produce these files to allow for type-safe consumption by other packages and applications.</comment>

<file context>
@@ -1,4 +1,4 @@
-import { defineConfig } from &#39;tsup&#39;;
+import { defineConfig } from &#39;tsdown&#39;;
 
 export default defineConfig({
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

The build configuration for @react-email/render does not produce the artifacts required by its package.json exports map. The new tsdown.config.ts omits the logic to create separate builds for node, browser, and edge environments, which will break the package for consumers.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: typescriptUnderstanding.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: The claim targets @react-email/render but the file under review is packages/react-email/tsdown.config.ts. Additionally, the render package’s tsdown config explicitly generates separate builds for node, browser, and edge (outDir: ./dist/node, ./dist/browser, ./dist/edge) which match its package.json exports map pointing to those directories. The react-email package’s config (single ESM output to dist) aligns with its package.json bin entry and does not require multi-environment artifacts. Therefore, the violation is factually incorrect and not applicable.

Prompt for AI agents
Address the following comment on packages/react-email/tsdown.config.ts at line 1:

<comment>The build configuration for `@react-email/render` does not produce the artifacts required by its `package.json` `exports` map. The new `tsdown.config.ts` omits the logic to create separate builds for `node`, `browser`, and `edge` environments, which will break the package for consumers.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: typescriptUnderstanding.*

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: The claim targets @react-email/render but the file under review is packages/react-email/tsdown.config.ts. Additionally, the render package’s tsdown config explicitly generates separate builds for node, browser, and edge (outDir: ./dist/node, ./dist/browser, ./dist/edge) which match its package.json exports map pointing to those directories. The react-email package’s config (single ESM output to dist) aligns with its package.json bin entry and does not require multi-environment artifacts. Therefore, the violation is factually incorrect and not applicable.</comment>

<file context>
@@ -1,4 +1,4 @@
-import { defineConfig } from &#39;tsup&#39;;
+import { defineConfig } from &#39;tsdown&#39;;
 
 export default defineConfig({
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link
Author

@cubic-dev-local cubic-dev-local bot Oct 3, 2025

Choose a reason for hiding this comment

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

The .npmignore file in this package is stale. It references the old tsup.config.ts file instead of tsdown.config.ts. This will cause the build configuration file to be published to npm.

Prompt for AI agents
Address the following comment on packages/react-email/tsdown.config.ts at line 1:

<comment>The `.npmignore` file in this package is stale. It references the old `tsup.config.ts` file instead of `tsdown.config.ts`. This will cause the build configuration file to be published to npm.</comment>

<file context>
@@ -1,4 +1,4 @@
-import { defineConfig } from &#39;tsup&#39;;
+import { defineConfig } from &#39;tsdown&#39;;
 
 export default defineConfig({
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 3, 2025

Choose a reason for hiding this comment

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

The build configuration for the server export omits TypeScript declaration files, but package.json specifies them in its exports map. This inconsistency will break consumers trying to import from @react-email/render/server in a TypeScript project.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: typescriptUnderstanding.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: packages/render/tsdown.config.ts sets dts: true for all build targets, so the claim that declaration files are omitted for the server export is factually wrong.

Prompt for AI agents
Address the following comment on packages/react-email/tsdown.config.ts at line 1:

<comment>The build configuration for the `server` export omits TypeScript declaration files, but `package.json` specifies them in its `exports` map. This inconsistency will break consumers trying to import from `@react-email/render/server` in a TypeScript project.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: typescriptUnderstanding.*

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: packages/render/tsdown.config.ts sets dts: true for all build targets, so the claim that declaration files are omitted for the server export is factually wrong.</comment>

<file context>
@@ -1,4 +1,4 @@
-import { defineConfig } from &#39;tsup&#39;;
+import { defineConfig } from &#39;tsdown&#39;;
 
 export default defineConfig({
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Nov 4, 2025

Choose a reason for hiding this comment

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

The .npmignore file in packages/react-email was not updated after renaming the build configuration file. It still tries to ignore tsup.config.ts instead of tsdown.config.ts, which could lead to publishing the build configuration file.

Prompt for AI agents
Address the following comment on packages/react-email/tsdown.config.ts at line 1:

<comment>The `.npmignore` file in `packages/react-email` was not updated after renaming the build configuration file. It still tries to ignore `tsup.config.ts` instead of `tsdown.config.ts`, which could lead to publishing the build configuration file.</comment>

<file context>
@@ -1,4 +1,4 @@
-import { defineConfig } from &#39;tsup&#39;;
+import { defineConfig } from &#39;tsdown&#39;;
 
 export default defineConfig({
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: System Design Agent

Fix with Cubic


export default defineConfig({
dts: false,
Expand Down
6 changes: 3 additions & 3 deletions packages/render/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup-node",
"build:watch": "tsup-node --watch",
"build": "tsdown",
"build:watch": "tsdown --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down Expand Up @@ -130,7 +130,7 @@
"@types/react-dom": "npm:[email protected]",
"jsdom": "26.1.0",
"tsconfig": "workspace:*",
"tsup": "8.4.0",
"tsdown": "^0.15.1",
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

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

Use a pinned devDependency version for tsdown to match existing pinning and avoid unexpected build changes.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Low-impact consistency issue; lockfile ensures reproducible installs and caret ranges are already used elsewhere in this package. Not worth reporting.

Prompt for AI agents
Address the following comment on packages/render/package.json at line 133:

<comment>Use a pinned devDependency version for tsdown to match existing pinning and avoid unexpected build changes.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact consistency issue; lockfile ensures reproducible installs and caret ranges are already used elsewhere in this package. Not worth reporting.</comment>

<file context>
@@ -130,7 +130,7 @@
     &quot;jsdom&quot;: &quot;26.1.0&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   },
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Suggested change
"tsdown": "^0.15.1",
"tsdown": "0.15.1",
Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

two-agent-filter: [email protected] requires Node >=20.19.0, but this package declares engines.node >=18. Adding this devDependency can cause install/build failures on Node 18. Align the engines.node to >=20 or use a tsdown version compatible with Node 18.

Libraries consulted:

Prompt for AI agents
Address the following comment on packages/render/package.json at line 133:

<comment>two-agent-filter: [email protected] requires Node &gt;=20.19.0, but this package declares engines.node &gt;=18. Adding this devDependency can cause install/build failures on Node 18. Align the engines.node to &gt;=20 or use a tsdown version compatible with Node 18. 

• **Libraries consulted**: </comment>

<file context>
@@ -130,7 +130,7 @@
     &quot;jsdom&quot;: &quot;26.1.0&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   },
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

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

single-agent-filter: [email protected] requires Node >=20.19.0, but this package declares engines.node >=18. Adding this devDependency can cause install/build failures on Node 18. Align the engines.node to >=20 or use a tsdown version compatible with Node 18.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Confirmed [email protected] requires Node >=20.19 via pnpm-lock. However, devDependencies aren’t installed for consumers and CI uses Node 22, so builds run on a compatible Node version. The package’s engines.node >=18 correctly reflects consumer runtime support; aligning it to >=20 would unnecessarily restrict users. No engine-strict config found, so Node 18 installs won’t hard-fail. Impact is limited to local dev on older Node and is intentional given CI setup.

Prompt for AI agents
Address the following comment on packages/render/package.json at line 133:

<comment>single-agent-filter: [email protected] requires Node &gt;=20.19.0, but this package declares engines.node &gt;=18. Adding this devDependency can cause install/build failures on Node 18. Align the engines.node to &gt;=20 or use a tsdown version compatible with Node 18.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Confirmed [email protected] requires Node &gt;=20.19 via pnpm-lock. However, devDependencies aren’t installed for consumers and CI uses Node 22, so builds run on a compatible Node version. The package’s engines.node &gt;=18 correctly reflects consumer runtime support; aligning it to &gt;=20 would unnecessarily restrict users. No engine-strict config found, so Node 18 installs won’t hard-fail. Impact is limited to local dev on older Node and is intentional given CI setup.</comment>

<file context>
@@ -130,7 +130,7 @@
     &quot;jsdom&quot;: &quot;26.1.0&quot;,
     &quot;tsconfig&quot;: &quot;workspace:*&quot;,
-    &quot;tsup&quot;: &quot;8.4.0&quot;,
+    &quot;tsdown&quot;: &quot;^0.15.1&quot;,
     &quot;typescript&quot;: &quot;5.8.3&quot;
   },
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"typescript": "5.8.3"
},
"publishConfig": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { defineConfig } from 'tsup';
import { defineConfig } from 'tsdown';

export default defineConfig([
{
Expand Down
4 changes: 2 additions & 2 deletions packages/row/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
4 changes: 2 additions & 2 deletions packages/section/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
},
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"build": "tsdown src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsdown src/index.ts --format esm,cjs --dts --external react --watch",
Copy link

@cubic-staging cubic-staging bot Sep 26, 2025

Choose a reason for hiding this comment

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

tsdown requires Node >=20.19.0; using it here can break builds under Node 18 environments. Align the Node version used for builds or update the package engines to Node >=20.19.0.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Duplicate of violation 0 (same issue for build:watch). Keep a single consolidated finding.

Libraries consulted: tsdown node engines requirement, Tsdown

Prompt for AI agents
Address the following comment on packages/section/package.json at line 27:

<comment>tsdown requires Node &gt;=20.19.0; using it here can break builds under Node 18 environments. Align the Node version used for builds or update the package engines to Node &gt;=20.19.0.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Duplicate of violation 0 (same issue for build:watch). Keep a single consolidated finding.

• **Libraries consulted**: tsdown node engines requirement, Tsdown</comment>

<file context>
@@ -23,8 +23,8 @@
-    &quot;build&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react&quot;,
-    &quot;build:watch&quot;: &quot;tsup src/index.ts --format esm,cjs --dts --external react --watch&quot;,
+    &quot;build&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react&quot;,
+    &quot;build:watch&quot;: &quot;tsdown src/index.ts --format esm,cjs --dts --external react --watch&quot;,
     &quot;clean&quot;: &quot;rm -rf dist&quot;,
     &quot;test&quot;: &quot;vitest run&quot;,
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
Expand Down
Loading