-
Notifications
You must be signed in to change notification settings - Fork 2.9k
PNPM + Turbo monorepo + Nightly releases #3407
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
|
|
Thank you for your work on this major migration to a pnpm + Turbo monorepo! This is a very large pull request, with 62 files changed and tens of thousands of lines added/removed. Per our workflow guidelines, I'm reviewing whether it could be split into smaller, more focused PRs. After reviewing the changes, most of the updates appear to be tightly coupled as part of the monorepo migration (switching to pnpm, updating scripts, moving/renaming files, updating workspace configs, and synchronizing build/test/lint processes). These changes generally need to happen together to keep the repository in a working state during the migration. However, there are a few areas that could potentially be split out to make the review process easier:
If possible, consider splitting out documentation-only changes and the license file addition into their own PRs. This will help reviewers focus on the core migration logic and make the review process smoother. If these changes are tightly coupled due to the migration process, it's understandable to keep them together, but please clarify in the PR description if that's the case. Thanks again for tackling this big migration! |
|
wow. understands you can't break this into smaller PRs and congratulates you in the end! 💕 |
|
.vsix Build fails - macOS 15.4, Intel, zsh pulled the PR with main branch install and build worked fine
|
Thanks for flagging - I think that's the last outstanding thing (validating the vsix build). I finally got the e2e tests working. |
|
Vsix builds are working now, test are passing (including e2e), etc. I think this is good to go. |
|
Generated with ❤️ by ellipsis.dev |
src/esbuild.mjs
Outdated
| const __dirname = path.dirname(__filename) | ||
|
|
||
| function setupLocaleWatcher() { | ||
| if (!watch) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function setupLocaleWatcher refers to an undefined variable watch. Pass watch as a parameter or define it in the proper scope.
src/esbuild.mjs
Outdated
| // Wait 300ms after last change before copying. | ||
| debounceTimer = setTimeout(() => { | ||
| console.log("Locale files changed, copying...") | ||
| copyLocaleFiles() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function copyLocaleFiles() is called in the watcher and later in main but is not defined or imported. Likely it should be replaced with a call to copyLocales(srcDir, distDir).
|
I have been using the Edit:
|
I'm a little confused; how is $ pnpm install:all
ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command "install:all" not foundAt any rate I think I might have fixed the issue you're encountering with the most recent commit. |
| Press `F5` (or **Run** → **Start Debugging**) in VSCode to open a new session with Roo Code loaded. | ||
| Press `F5` (or **Run** → **Start Debugging**) in VSCode to open a new window with Roo Code running. | ||
|
|
||
| Changes to the webview will appear immediately. Changes to the core extension will require a restart of the extension host. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't true anymore btw (I can fix as a follow-up in all languages)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
intentionally deleted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes - is it useful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, if normal users want to test unmerged PRs quickly.
Description
This allows us to carve our code up into separate packages for easy re-use across a variety of applications (VSCode extension, JetBrains extension, cli, evals, etc).
(Taken from MONOREPO.md):
Roo Code has transitioned to a monorepo powered by PNPM workspaces and Turborepo.
When you first pull down the monorepo changes from git you'll need to re-install all packages using pnpm. You can install pnpm using these instructions. If you're on MacOS the easiest option is to use Homebrew:
Once pnpm is installed you should wipe out your existing node_modules directories for a fresh start:
And then install your packages:
If things are in good working order then you should be able to build a vsix and install it in VSCode:
pnpm build --out ../bin/roo-code-main.vsix && \ code --install-extension bin/roo-code-main.vsixImportant
Transition to a PNPM and Turbo monorepo setup, updating workflows, build scripts, and configurations across the project.
PNPMworkspaces andTurborepo.MONOREPO.mdwith setup instructions.npmwithpnpmin workflows likechangeset-release.yml,code-qa.yml,marketplace-publish.yml, andupdate-contributors.yml.pnpm/action-setup@v4to installpnpmin workflows.esbuild.jsto include asset copying logic.package.jsonscripts to usepnpmandturbofor tasks likelint,test, andbuild.turbo.jsonfor task management..eslintrc.jsonfore2etests.jest.config.jsandvite.config.tsfor compatibility with the new setup..vscodeignoreand update.gitignoreto reflect new asset paths.ClineProvider.tsto use new asset paths for icons and images.This description was created by
for 7778602. You can customize this summary. It will automatically update as commits are pushed.
Important
Transition to a PNPM and Turbo monorepo setup, updating workflows, build scripts, and configurations across the project.
PNPMworkspaces andTurborepo.MONOREPO.mdwith setup instructions.npmwithpnpmin workflows likechangeset-release.yml,code-qa.yml,marketplace-publish.yml, andupdate-contributors.yml.pnpm/action-setup@v4to installpnpmin workflows.esbuild.jsto include asset copying logic.package.jsonscripts to usepnpmandturbofor tasks likelint,test, andbuild.turbo.jsonfor task management..eslintrc.jsonfore2etests.jest.config.jsandvite.config.tsfor compatibility with the new setup..vscodeignoreand update.gitignoreto reflect new asset paths.ClineProvider.tsto use new asset paths for icons and images.This description was created by
for cf58acc. You can customize this summary. It will automatically update as commits are pushed.