farm-fe / farm

Extremely fast Vite-compatible web build tool written in Rust
https://farmfe.org
MIT License
5k stars 167 forks source link

Farm Roadmap v2.0 🎉 #1589

Open ErKeLost opened 4 months ago

ErKeLost commented 4 months ago

This refactoring will ensure that a large number of api and property break changes will not be designed

  1. Optimize existing @farmfe/core config logic design

  2. Add debug debugging to the node layer

  3. Replace koa with connect

  4. Try to adapt some hmr, jsPlugin Hook, etc. to farm native servers, rather than putting pressure on farm's vite compatibility layer, which will cause excessive pressure on subsequent maintenance

  5. The middleware design needs to be re-considered to adapt to the existing koa middleware and user-written middleware or the reimplementation of other native middleware that needs to be replaced.

Currently, we are still thinking about design and finally achieve the goal of farm development rust ecosystem, and js ecosystem reuses vite ecosystem.

Now considering the initial stage, we are still in the process of design thinking, and may mainly consider it in the mojor version

Reasons for refactoring this node layer

Only by making the underlying infrastructure good enough can it better serve the stability of the upper framework.

This major and important update is mainly to accompany the sustainable development of the vite ecosystem, so that farm can follow the footsteps of vite's js ecosystem for a long time to come.

Progress till MVP

New Docs

Refctor functions

Node Side

vite adapter

Refactoring all vite proxy logic mainly targets errors caused by invalid configurations such as esbuild ,rollup options Elegant optimized performance Compatible with more vite plugins

@farmfe/cli

@farmfe/core

Config

Server

jsplugin

vite

Currently testing all supported vite and unplugin plugins in the new version

vite plugins

unplugin plugins

other

unit Test

The entire node layer will be explained in more detail later, and everyone is welcome to participate and learn together. All code is in v2-dev branch,If you are interested, you can discuss the claim below

Rust Side

Persistent Cache Refactor

Plugin Hooks

HMR Optimize

Resolver

Module Federation

Refactor

Css Implementation Refactor

Grocery

Rust Plugins - All in Rust

Feature request

ErKeLost commented 3 months ago

this issues will be resolved

#1403

#1455

#1711

callqh commented 3 months ago

It seems that the processing of the config in the core was a bit complicated before, and config was modified in almost many places. It feels like it can be unified and processed in one place.

ErKeLost commented 1 month ago

Final implementation version and roadmap (new Docs)

  1. A new preview version of farm is expected to begin deploying in early October using https://github.com/stackblitz-labs/pkg.pr.new

  2. Better vite support includes plugins and custom plugins

  3. Better development experience and ui ux

  4. More stable server-side functional integrity

  5. More interesting new farm features, more customization options

  6. A new bundle model is coming soon

ErKeLost commented 1 month ago

change previews (WIP)

  1. new overlay page

with farm

image image

with vite(WIP)

image
fu050409 commented 1 month ago

Great and elegant design!