sveltejs/svelte
svelte package
Active contributors: Rich Harris, Simon H, Dominic Gannaway, Paolo Ricciuti
Purpose
packages/svelte/ is the published svelte npm package. It contains the compiler, the client and server runtimes, the public reactivity primitives, transitions/animations/motion helpers, the legacy store API, and the Svelte 4 → 5 codemod. The current published version is read from packages/svelte/src/version.js (currently 5.55.5).
Directory layout
packages/svelte/
├── src/
│ ├── index-client.js # public `svelte` exports (browser)
│ ├── index-server.js # public `svelte` exports (server / non-DOM)
│ ├── index.d.ts # public types
│ ├── compiler/ # parser + analyzer + transformers (see "Compiler")
│ ├── internal/
│ │ ├── client/ # client runtime (see "Client runtime")
│ │ ├── server/ # server runtime (see "Server runtime")
│ │ ├── shared/ # tiny utilities used by both
│ │ ├── flags/ # async/legacy/tracing feature flags
│ │ └── disclose-version.js
│ ├── reactivity/ # SvelteMap, SvelteSet, SvelteDate, SvelteURL, ...
│ ├── transition/, animate/, motion/, easing/
│ ├── attachments/, events/
│ ├── store/ # legacy writable/readable stores
│ ├── server/ # public `svelte/server` entry (`render`)
│ ├── legacy/ # Svelte 4 compatibility shims
│ ├── action/ # type-only entry for action types
│ ├── escaping.js, html-tree-validation.js, utils.js, constants.js
│ └── version.js # generated during release
├── tests/ # Vitest test suites
├── messages/ # error/warning markdown source
├── scripts/ # process-messages, generate-types, generate-version
├── compiler/ # built UMD bundle (committed for in-browser use)
├── types/ # rolled-up .d.ts (generated)
├── elements.d.ts, svelte-html.d.ts
├── rollup.config.js
└── package.jsonSub-pages
| Page | What it covers |
|---|---|
| Compiler | Parser, analyzer, transformers — the compile() pipeline. |
| Client runtime | mount/hydrate, blocks, bindings, transitions glue, dev helpers. |
| Server runtime | The Renderer and render() public API. |
| Public exports & subpaths | What's accessible from svelte, svelte/server, svelte/compiler, and friends. |
For cross-cutting topics, also see:
- Reactivity engine — how
Source,Derived,Effect,Batchinteract. - Compile pipeline — diagrammatic view of parse → analyze → transform.
- Hydration — server output → live DOM.
- The features section for runes, transitions, motion, stores, attachments.
Key abstractions
| Abstraction | File | One-liner |
|---|---|---|
compile |
packages/svelte/src/compiler/index.js |
Component → { js, css, ast, warnings }. |
compileModule |
packages/svelte/src/compiler/index.js |
.svelte.js → JS module with runes resolved. |
parse / parseCss |
packages/svelte/src/compiler/index.js |
Public AST entry (modern + legacy shapes). |
mount / hydrate / unmount |
packages/svelte/src/internal/client/render.js |
Client component lifecycle. |
render |
packages/svelte/src/server/index.js |
SSR entry returning { html, head, body, css, csp }. |
state / set |
packages/svelte/src/internal/client/reactivity/sources.js |
Source primitive (compiled $state). |
derived |
packages/svelte/src/internal/client/reactivity/deriveds.js |
Memoised reaction (compiled $derived). |
effect |
packages/svelte/src/internal/client/reactivity/effects.js |
Side-effectful reaction (compiled $effect). |
Batch, flushSync, fork |
packages/svelte/src/internal/client/reactivity/batch.js |
Microtask scheduler. |
Renderer |
packages/svelte/src/internal/server/renderer.js |
Server-side string-tree builder. |
migrate |
packages/svelte/src/compiler/migrate/index.js |
Svelte 4 → 5 codemod. |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.