-
src
-
entries
# split by semantics, rendering strategy, or technology
-
[entry-name]
# can be called `main` if there's just one entry
-
public
# public assets served by entry point's `server`
-
server
# `server.ts` or `server/index.ts` exports an instance
of Express Router
- types
-
ui
-
const
-
customValue.ts
# exports `const customValue`
-
[feature]
- const
-
Component
- Component2
- ...
- types
- utils
-
Component
- index.css
-
index.tsx
# not `Component/Component.tsx`, exports
`Component` and `ComponentProps`
- Component2
- ...
- types
- utils
-
index.tsx
# CSR entry point, location of `createRoot()` or
`hydrateRoot()` in React apps
- utils
-
lib
# would-be packages, pre-publishing + patched external
libs
-
public
# publicly available files shared by multiple entries
-
server
- const
- middleware
- types
- utils
-
index.ts
# runnable app server, plugs in the required entry points'
`server` exports (being Express Routers)
-
types # shared types
-
CustomEntity.ts
# exports `type CustomEntity`
-
ui
# UI components shared by multiple entries
-
utils # shared utils
-
getValue.ts
# exports only `function getValue` (and possibly `type
GetValueParams`)