Skip to content

Commit c97cbcc

Browse files
author
Deploy Bot
committed
verify: add reproduction scripts and PR details for all major fixes
- Include reproduction scripts for Sentry (#2900) and engine strictness (#2913) - Include PR body drafts for consolidated tracking
1 parent 737ad56 commit c97cbcc

File tree

10 files changed

+1325
-0
lines changed

10 files changed

+1325
-0
lines changed

pr_body.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Summary
2+
Fixes #2913
3+
4+
## Problem
5+
GitHub Integration runs `trigger deploy` which executes `npm install` (or equivalent) in a Node 20 environment. If a project has strict `engines.node` requirements (e.g., "22"), the install phase fails before reaching the Docker build phase where the runtime config is respected.
6+
7+
## Fix
8+
- Updated `updateTriggerPackages` in `packages/cli-v3/src/commands/update.ts` to accept an `ignoreEngines` option.
9+
- Passed appropriate flags to `installDependencies` based on package manager:
10+
- npm: `--no-engine-strict`
11+
- pnpm: `--config.engine-strict=false`
12+
- yarn: `--ignore-engines`
13+
- Updated `deploy.ts` to pass `ignoreEngines: true` when running package updates during deployment.
14+
15+
## Verification
16+
- Added unit tests in `packages/cli-v3/src/commands/update.test.ts` to verify the correct flags are passed.
17+
- Verified locally via unit tests.

pr_body_2900.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Summary
2+
Fixes #2900
3+
4+
## Problem
5+
When using Sentry (or other libraries that patch `console` methods) in `dev` mode, logs can be swallowed. This happens because `ConsoleInterceptor` overrides `console` methods with its own implementation that writes directly to `process.stdout`/`stderr`, bypassing any previous patches (like Sentry's breadcrumb capture or upstream transport). Additionally, if Sentry patches `console` *after* `ConsoleInterceptor` starts interception, the restoration logic in `ConsoleInterceptor` might conflict or break compatibility.
6+
7+
## Fix
8+
- Modified `ConsoleInterceptor.ts` to store the original console methods (those present *before* interception starts) in the class instance.
9+
- Updated `#handleLog` to delegate to these `originalConsole` methods (e.g. `this.originalConsole.log(...)`) instead of writing directly to `process.stdout`.
10+
- This ensures that if Sentry (or another tool) is in the chain, it receives the log call, preserving breadcrumbs and upstream handling while still allowing OTEL capture.
11+
- Fallback to `process.std[out|err]` is retained if `originalConsole` is somehow missing (though unlikely during interception).
12+
13+
## Verification
14+
- Verified using a reproduction script where Sentry is initialized and console is intercepted.
15+
- Confirmed that logs flow through Sentry (simulated) and are captured by OTEL.

repro-2913/package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "repro-2913",
3+
"version": "1.0.0",
4+
"engines": {
5+
"node": "22.0.0"
6+
},
7+
"dependencies": {
8+
"is-odd": "3.0.1"
9+
}
10+
}

0 commit comments

Comments
 (0)