-
Notifications
You must be signed in to change notification settings - Fork 475
fix(desktop-e2e): add ts-node dependency for wdio worker #2129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The @wdio/local-runner worker.js conditionally uses ts-node for ESM support via NODE_OPTIONS. Without ts-node installed, the worker fails with 'Cannot find package ts-node' error in CI. This fixes the desktop-e2e-linux CI job failure. Co-Authored-By: yujonglee <[email protected]>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
✅ Deploy Preview for hyprnote ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for hyprnote-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughAdded ts-node devDependency version 10.9.2 to the desktop-e2e package. This single dependency addition enables TypeScript node execution capability in the e2e testing environment without any other configuration or functional changes. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (2)📓 Common learnings📚 Learning: 2025-11-24T16:32:24.348ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
🔇 Additional comments (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The ts-node dependency is required by // node_modules/@wdio/local-runner/build/worker.js
process.env.WDIO_LOAD_TS_NODE === '1' &&
!(process.env.NODE_OPTIONS || '').includes('--loader ts-node/esm')) {
runnerEnv.NODE_OPTIONS = (runnerEnv.NODE_OPTIONS || '') + ' --loader ts-node/esm/transpile-only --no-warnings';
if (nodeVersion('major') >= 20 || (nodeVersion('major') === 18 && nodeVersion('minor') >= 19)) {
runnerEnv.NODE_OPTIONS += ' -r ts-node/register';
}
}When this code path is triggered in CI, Node.js tries to resolve ts-node and fails with |
Summary
Fixes the
desktop-e2e-linuxCI job failure by addingts-nodeas a devDependency to the desktop-e2e package.The
@wdio/local-runnerworker conditionally uses ts-node for ESM support viaNODE_OPTIONS(seenode_modules/@wdio/local-runner/build/worker.js). Without ts-node installed, the worker fails with:The ts-node version (10.9.2) matches what's already used elsewhere in the monorepo.
Review & Testing Checklist for Human
desktop-e2e-linuxCI job passes after this changeTest plan: Trigger the desktop CD workflow and verify the
build-linuxjob completes successfully, particularly the E2E test step.Notes
supports-colorpeer dependency resolution) - this is expected behavior when adding a new package