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

kit: hot reloading server components #14025

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

kit: hot reloading server components #14025

wants to merge 2 commits into from

Commits on Sep 20, 2024

  1. kit + server component improvements

    you can use --server-components with bun build, and you get a slightly
    more correct output. this output is not yet perfect or usable. but i am
    committing this as a checkpoint as the next step is a large design
    change for how `kit.DevServer` bundles and re-bundles files
    
    we are removing the old `Framework` struct, and replacing it with a new
    one with a similar purpose: configuration options targeted towards
    framework developers. it tells the bundler how to glue the framework to
    the application, mostly in regards to react server components
    
    introduce `bundle_v2.AstBuilder`, which is used for parallel generation
    of virtual modules. previously, this used a string builder combined with
    the javascript parser. this is silly and will not be fun to use for the
    3-5 file kinds that the bundler will have to generate. this builder
    makes it very easy
    
    introduce `kit.DevServer.IncrementalGraph`, which will keep track of
    changes between bundle tasks. however, this code is not ripe and will
    be iterated on extensively. i don't think it's approach is sound yet
    paperdave committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    b3ecf3a View commit details
    Browse the repository at this point in the history
  2. begin hot reloader iteration 2

    there are two `IncrementalGraph`s. one for the client and one for the
    server. the plan is all routes share these two graphs, de-duplicating
    cross-route work. more explanation is left in documentation comments.
    
    more server components bugs are fixed, but not all. it is in a weird
    state where some files are tree-shaken away, as well as bogus output
    like `const Client = Client;`
    paperdave committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    2de1a7a View commit details
    Browse the repository at this point in the history