CodeWeave is a modular, monorepo-based project designed to provide a seamless development experience for building and bundling modern web applications. It leverages tools like TypeScript, React, Vite, and Esbuild to deliver a robust and efficient development workflow.
- Web Application: A React-based web app (
code-weave-web-app) with a code editor, syntax highlighting, and live preview capabilities. - Local Server: A local server (
code-weave-local-server) for serving and managing application assets. - CLI Tool: A command-line interface (
code-weave-cli) for managing and interacting with the project. - Monorepo Structure: Managed with Lerna for efficient dependency sharing and versioning.
- Custom Plugins: Includes Esbuild plugins for path resolution and fetching.
- A React-based web application.
- Features:
- Code editor with Monaco Editor.
- Syntax highlighting using Prettier and Babel.
- JSX support with Monaco JSX Highlighter.
- EsBuild based in-browser bundling.
- iframes for safe and isolated JS code execution with React Support.
- [Future Work]: Support for an AI Prompt Cell with LLM Integration for Chating with LLM for code or text generation.
- A local server for serving assets and managing requests.
- Built with Express.js.
- Provides caching and proxy middleware.
- Serves the underlying js notebook for persistence in the react App, performs smart Serializing and De-serializing to allow for easy sharing of the notebook, along with supporting ease of understanding.
- A CLI tool for managing the project.
- Also, to trigger the local server and access the application through browser.
- Commands:
start: Watch and compile TypeScript files.
-
Clone the repository:
git clone https://github.com/your-username/code-weave.git cd code-weave -
Install dependencies:
npm install
-
Bootstrap the monorepo:
npx lerna bootstrap
cd packages/code-weave-web-app
npm run devcd packages/code-weave-local-server
npm run startcd packages/code-weave-cli
npm run start- Linting: Run
npm run lintin thecode-weave-web-apppackage. - Building: Use
npm run buildto build the web app. - Testing: Add tests as needed (currently not implemented).
/packages
/code-weave-web-app # React-based web application
/code-weave-local-server # Local server for asset management
/code-weave-cli # Command-line interface tool
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and open a pull request.