|
|
@@ -1,73 +0,0 @@
|
|
|
-# Monorepo Guide
|
|
|
-
|
|
|
-Roo Code has transitioned to a monorepo powered by [PNPM workspaces](https://pnpm.io/workspaces) and [Turborepo](https://turborepo.com).
|
|
|
-
|
|
|
-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](https://pnpm.io/installation) instructions. If you're on MacOS the easiest option is to use Homebrew:
|
|
|
-
|
|
|
-```sh
|
|
|
-brew install pnpm
|
|
|
-```
|
|
|
-
|
|
|
-Once pnpm is installed you should wipe out your existing node_modules directories for a fresh start:
|
|
|
-
|
|
|
-```sh
|
|
|
-# This is optional, but recommended.
|
|
|
-find . -name node_modules | xargs rm -rvf
|
|
|
-```
|
|
|
-
|
|
|
-And then install your packages:
|
|
|
-
|
|
|
-```sh
|
|
|
-pnpm install
|
|
|
-```
|
|
|
-
|
|
|
-If things are in good working order then you should be able to build a vsix and install it in VSCode:
|
|
|
-
|
|
|
-```sh
|
|
|
-pnpm vsix -- --out ../bin/roo-code-main.vsix && \
|
|
|
- code --install-extension bin/roo-code-main.vsix
|
|
|
-```
|
|
|
-
|
|
|
-To fully stress the monorepo setup, run the following:
|
|
|
-
|
|
|
-```sh
|
|
|
-pnpm clean && pnpm lint
|
|
|
-pnpm clean && pnpm check-types
|
|
|
-pnpm clean && pnpm test
|
|
|
-pnpm clean && pnpm build
|
|
|
-pnpm clean && pnpm bundle
|
|
|
-pnpm clean && pnpm bundle:nightly
|
|
|
-
|
|
|
-pnpm clean && pnpm npx turbo watch:bundle
|
|
|
-pnpm clean && pnpm npx turbo watch:tsc
|
|
|
-
|
|
|
-pnpm --filter @roo-code/vscode-e2e test:ci
|
|
|
-
|
|
|
-pnpm clean && \
|
|
|
- pnpm vsix -- --out ../bin/roo-code.vsix && \
|
|
|
- code --install-extension bin/roo-code.vsix
|
|
|
-
|
|
|
-pnpm clean && \
|
|
|
- pnpm vsix:nightly -- --out ../../../bin/roo-code-nightly.vsix && \
|
|
|
- code --install-extension bin/roo-code-nightly.vsix
|
|
|
-```
|
|
|
-
|
|
|
-### Turborepo
|
|
|
-
|
|
|
-Note that this excludes the `build` task for next.js apps (@roo-code/web-\*).
|
|
|
-
|
|
|
-Tasks: `build` -> `bundle` -> `vsix`
|
|
|
-
|
|
|
-build:
|
|
|
-
|
|
|
-- `@roo-code/build` [input: src, package.json, tsconfig.json | output: dist]
|
|
|
-- `@roo-code/types` [input: src, package.json, tsconfig.json, tsup.config.ts | output: dist]
|
|
|
-- `@roo-code/webview-ui` [input: src, package.json, tsconfig.json, vite.config.ts | output: ../src/webview-ui]
|
|
|
-
|
|
|
-bundle:
|
|
|
-
|
|
|
-- `roo-cline` [input: * | output: dist]
|
|
|
-
|
|
|
-vsix:
|
|
|
-
|
|
|
-- `roo-cline` [input: dist | output: bin]
|