Skip to content

Latest commit

 

History

History
170 lines (118 loc) · 4.11 KB

todo.md

File metadata and controls

170 lines (118 loc) · 4.11 KB

TODO

framework

  • long cache headers for production

  • prefix encrypted cookie with app name

  • taint secret key (needs experimental react)

  • editing env file should trigger some sort of change so live reload works

  • editing config file should trigger reload

  • if build changes (stale browser, whatever) should live reload

  • production build should live reload in dev. live reload is really about the task, not the build environment

  • add /app/components?

  • perf tracking: facebook/react#31729

  • live reload should reconnect when disconnected

  • lightening css

  • rename api handlers

  • only allow function exports from server modules. you dont want to import a non function call server on the client

  • website for server-function-transforms

website

  • Loading screens

  • Error handling

  • Deploying

  • One app

  • Server, client, server

  • mobile menu

  • line length in md files

  • docs md files should use

framework

  • not found and redirect should be server only

  • put all error boundaries in same client component

  • monkey patch console.error for not found/redirect boundaries

  • run middleware in RSC

  • reload on file changes under pages? (ex editing an md file)

  • bug: visit route, rename file, build error

  • bug: back cache not working when error thrown go to server action throws error, trigger, then click back

  • custom error page for prod (errors/500.html)

create twofold app

  • show version

kitchen sink

Client Components

  • SSR should preloadmodule

Routing

  • don't allow two dynamic routes with the same dynamic identifier ($id)

Build

  • Adding many files (unzip something)
  • create runnable bundles for RSC/SSR
  • check if middleware export default is a function
  • image imports (rsc, client)

Static files

  • Redirect to static file
  • Static files should come first in routing checks
  • Rebuild static files when dir changes
  • Prod static files should move into build dir?

Global middleware

  • hasMiddleware shouldn't check for ts file (should look for compiled entry point)

Create twofold app

  • Ability to install pre-released version of twofold/framework

HMR

Postgres

Errors

  • Don't allow setting cookies during render (or after first chunk flush)

Goals

Design

// client component map for rsc server render
{
  "link-63a8b9c9cd59152bb0931307b8e22426#default": {
    id: "link-63a8b9c9cd59152bb0931307b8e22426#default",
    chunks: [
      "link-63a8b9c9cd59152bb0931307b8e22426:entries/link:KM6HTJ3G",
      "/entries/link-KM6HTJ3G.js",
    ],
    name: "default",
  },
},
// create from readable stream
let x = createFromReadableStream(t1, {
  ssrManifest: {
    moduleMap: {
      "link-63a8b9c9cd59152bb0931307b8e22426#default": {
        default: {
          id: "link-63a8b9c9cd59152bb0931307b8e22426#default",
          chunks: [
            "link-63a8b9c9cd59152bb0931307b8e22426:entries/link:KM6HTJ3G",
            "/entries/link-KM6HTJ3G.js",
          ],
          name: "default",
        },
      },
    },
    moduleLoading: {
      prefix: "/",
    },
  },
});

console.log(Array.from(x._response._chunks.values()).map((p) => p.status));