# NextJs to Vanilla Js
## NextJS
### Pain Points
1. Routing
2. Local dev vs Prod diffs
3. `dangerouslySetHtml` angry workarounds (static analysis goes 💥)
4. SSR is ~~gross~~ unnecessary
### Benefits
1. SSR - Lower spec'd devices render faster
## New Solution
### Must Haves
1. Fast dev-server exp
1. Must support HMR/Fast Refresh
2. Low to no config (~100 lines)
1. Reasonable defaults
1. Code splitting
2. Typescript support
3. Sourcemaps
3. ESLint
4. Running tests requires no/minimal effort
### Nice to Haves
1. Remove requirement for React import (`import React from 'react'`)
2. Prettier??
### TODOs
1. Create test repo (`ta-ui-simple-react-app`, `ta-test-react`, `ta-skunkworks-spa`??)
1. All Typescript
2. At least 2 react-router-dom routes
1. Code split routes via `React.Lazy`
3. Code split at least one component via `React.Lazy`
4. At least 1 test
5. At least 1 svg
6. Import a private audibene package for something
1. Our custom Eslint config?
2. Create a branch per bundler
1. CRA
2. Neutrino
3. Parcel
4. ZeroServer
5. EsBuild
6. Rollup
3. Clone k8s-terraform repo for .infrastructure??
### Metrics
1. DX
1. Startup time (sec)
1. Warm
2. Cold
2. UI change feedback time (sec)
2. Build (sec)
1. Warm
2. Cold
3. Number of Dependencies Accrued (not dev deps)