Skip to content
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

Incremental Migration of Flowise from CRA to Vite with TypeScript Support #1362

Closed
gokuljs opened this issue Dec 11, 2023 · 2 comments
Closed

Comments

@gokuljs
Copy link

gokuljs commented Dec 11, 2023

Incremental Migration to Vite with TypeScript Support

Overview

This document outlines our strategy for incrementally migrating the Flowise project from Create React App (CRA) to Vite, with TypeScript integration. We will use a dedicated branch for this migration, periodically syncing with the main branch, and eventually merge back once the migration is complete and stable.

Migration Strategy

Dedicated Migration Branch

  • Branch Name: vite-typescript-migration
  • Purpose: Serve as the primary workspace for the migration process.
  • Process:
    • This branch will coexist with the main branch.
    • Regularly pull updates from main to keep the migration branch up-to-date.
    • Gradually implement Vite and TypeScript features in this branch.

Syncing with Main Branch

  • Frequency: Regular intervals (e.g., weekly) or after significant updates in main.
  • Purpose: Ensure the migration branch reflects the latest codebase, minimizing integration conflicts.
  • Process:
    • Pull the latest changes from main into vite-typescript-migration.
    • Resolve any conflicts and ensure stability with the new changes.

Migration Steps

  1. Initial Setup:

    • Set up basic Vite configuration.
    • Establish TypeScript support for new and existing components.
  2. Incremental Implementation:

    • Gradually convert components/modules to use Vite and TypeScript.
    • Test extensively after each conversion.
  3. Continuous Integration and Testing:

    • Ensure that CI pipelines are adapted to handle the new setup.
    • Regularly run tests to maintain code quality and functionality.
  4. Final Review and Optimization:

    • Before merging, conduct a thorough review.
    • Optimize for performance, readability, and maintainability.
  5. Merging to Main:

    • Once the migration is complete and stable, plan for merging into main.
    • Coordinate with the team for a final review and approval.
    • Merge vite-typescript-migration into main.

Benefits

  • Non-Disruptive: Allows ongoing development in main without interruption.
  • Risk Mitigation: Enables testing and gradual implementation, reducing risks.
  • Smooth Transition: Facilitates a controlled and monitored shift to the new setup.
@HenryHengZJ
Copy link
Contributor

This PR is to use Vite, but still in JS. After merging this in, we can slowly port to typescript

@gokuljs
Copy link
Author

gokuljs commented Dec 12, 2023

Sure, I'll have a look at that PR. It's funny, I was actually thinking about doing that myself! Once I get it sorted out, I might just write up a post for Substack about how we did the migration at Flowise. It could be a neat way to share our journey and maybe help others who are looking to do the same.

JohnBQuinn pushed a commit to JohnBQuinn/Flowise that referenced this issue Jun 7, 2024
* feat: add variable update node

* fix

* fix

* change component quote
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants