Open-Source Wikis

/

Svelte

/

Packages

/

`svelte` package

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.json

Sub-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, Batch interact.
  • 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.

`svelte` package – Svelte wiki | Factory