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

"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",
"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

"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

"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


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