Express.js
This is the SolidJS framework monorepo — a fine-grained reactive JavaScript UI framework that compiles JSX into direct DOM manipulations without a virtual DOM. It includes the core reactive system (signals, effects, memos), a component model with control flow primitives (Show, For, Switch, Suspense), server-side rendering support (string, streaming, and static generation), a store system with proxy-based nested reactivity, and adapter packages for Web Components (solid-element) and custom renderers (universal runtime).
Tech Stack
Key Features
- Fine-grained Reactive Primitives
- Compiled JSX with Babel Preset
- Control Flow Components
- Proxy-based Reactive Stores
- Server-Side Rendering
- Universal Runtime
- Web Components Integration
- HyperScript and HTML Tagged Templates
- DOM Event Delegation
- Hydration Support
Coding Conventions
Standards and patterns used in this codebase
Monorepo structure: apps/ contains deployable applications, packages/ contains shared libraries
Packages: packages/babel-preset-solid, packages/solid, packages/solid-elementFile naming uses: kebab-case, camelCase, PascalCase (for components/classes)
index.js, babel.config.cjs, jsx-runtime.d.ts, rollup.config.js, vite.config.mjsTypeScript is the primary language
All new files should be .ts or .tsxTests use .spec. pattern
Test files are named like component.test.ts or placed in __tests__/Configuration is centralized in config files
Config files: packages/solid/babel.config.cjs, packages/solid/rollup.config.jsUse index.ts barrel files to export module public API
Each module has index.ts that re-exports public functionsTypes are defined in dedicated type files
Type files: packages/solid/jsx-runtime.d.ts, packages/solid-ssr/static/index.d.ts